计算机组成原理问题在
计算机组成原理问题在在图示的三种算法中,请问乘数右移一位后,最高位补1或者补0的具体规则是什么?...
计算机组成原理问题在在图示的三种算法中,请问乘数右移一位后,最高位补1或者补0的具体规则是什么?
展开
2个回答
2017-03-10
展开全部
你是不是看晕了?
最高位其实没变啊。。。。
比方说第二个图片,Y一直都是0011
如果是1就加一个X的补码,0就右移一位而已
最后看符号,如果Y的最高位是11,说明这货是负号,两个数相乘取负,所以要减去一个-X补
其实完整的例子应该是符号位也考虑进去,只不过这个图片的例子没有写,具体请找其他参考资料看看
说白了其实设计这东西是跟寄存器与逻辑门设计有关的。。。。具体如果有模型就好说明了
其实跟人计算差不多,只不过这是机器计算。。。
最高位其实没变啊。。。。
比方说第二个图片,Y一直都是0011
如果是1就加一个X的补码,0就右移一位而已
最后看符号,如果Y的最高位是11,说明这货是负号,两个数相乘取负,所以要减去一个-X补
其实完整的例子应该是符号位也考虑进去,只不过这个图片的例子没有写,具体请找其他参考资料看看
说白了其实设计这东西是跟寄存器与逻辑门设计有关的。。。。具体如果有模型就好说明了
其实跟人计算差不多,只不过这是机器计算。。。
追问
您好,我看第二幅图的乘数的最高位在右移之后一会儿补上0,一会儿补上0,指的是竖着的那列乘数。
追答
这。。。您说的有点不太清楚。如果是乘数Y的那一列,其实是非常简单的,乘数Y这一列,竖线"|"的 左边是部分积,右边是乘数,说白了就是
部分积|乘数 这样的组合。也就是实际设计的时候为了节省元器件,将参与过运算的乘数通过右移拿掉,腾出空位就放部分积。
说白了就是每相乘一次,乘数Y的最高位都要挪进去一位部分积进去,你仔细观察,,第一次相乘以后的结果,由于乘数Y最低位是1,所以相当于加一个X的补码(任何数乘以1等于其本身,如2×1=2)相乘以后,得出答案是00.1011,此时乘数Y的最低位1已经参与过运算,没有了利用价值,所以拜拜,乘数Y右移一位,挪走最后的那个1,腾出最高位来存放部分积的最低位,由于此时部分积是00.1011,所以挪进去的是1,而这个挪进去的操作是通过右移完成的,此时由于部分积是正数,所以最高位补0。事实上在计算机里面部分积已经分开两个地方存放了,一般是寄存器,如AX BX之类的,是比较巧妙的设计。
而这里为什么部分积右移。。其实就跟我们平时手写乘法算式差不多的原理
如
12
× 12
————
24
12
————
144
看了这个算式懂了吗?
可能排版显示不出来,不过跟我们手写计算是差不多的原理,算到12的十位的时候,第二行需要左边移动一行。。这是小学数学,自己好好想想。
只不过计算机自己不会这么写,我们帮他右移然后继续加其他的数而已。仔细想想,欢迎不懂再提问。
其实这个跟我们手写乘法计算比较类似的。。。好好结合小学数学关于乘法怎么算,只不过一个是我们手工写的时候左移一行,计算机就是右移。。。好好想想吧。
上海巴鲁图工程机械科技有限公司_
2022-05-15 广告
2022-05-15 广告
光电编码器,是一种通过光电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器。光电编码器每转输出60(我们用老板没有说)个脉冲,五线制。其中两根为电源线,三根为脉冲线(A相、B相、Z)。电源的工作电压为 (+5~+24V)直流电源。光...
点击进入详情页
本回答由上海巴鲁图工程机械科技有限公司_提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询