早教吧作业答案频道 -->其他-->
计算机中二进制减法的拓展问题——计算机数学高手进我作业有一道题:完成下列二进制数的减法运算:(b)00001100-11110111这道题分析说先把减数化成补码的形式,也就是要把11110111
题目详情
计算机 中 二进制 减法 的拓展问题—— 计算机 数学 高手进
我作业有一道题:
完成下列二进制数的减法运算:(b) 00001100-11110111
这道题分析说先把减数化成补码的形式,也就是要把11110111化成补码,怎么化啊?它的最高位已经是1了。
如果把一个二进制数例如00001111化成补码,先在最高位取1,成10001111,再把各位取反成11110000,加1得11110001,这就是00001111的补码,但是上面那个题它的第一位已经是1了,怎么化呀??
我作业有一道题:
完成下列二进制数的减法运算:(b) 00001100-11110111
这道题分析说先把减数化成补码的形式,也就是要把11110111化成补码,怎么化啊?它的最高位已经是1了。
如果把一个二进制数例如00001111化成补码,先在最高位取1,成10001111,再把各位取反成11110000,加1得11110001,这就是00001111的补码,但是上面那个题它的第一位已经是1了,怎么化呀??
▼优质解答
答案和解析
如果人工计算,应该按照减法进行,即:
0000 1100 - 1111 0111 = 0001 0101。
但是,CPU中,只有加法器,并没有减法器,遇到减法,CPU就要将减数全部的位,都求反加一,再与被减数相加,就是:
0000 1100 + 0000 1001 = 0001 0101。 和人工计算的结果相同。
注意:这里讲的“减数全部的位,都求反加一”,并不是常说的求“补码”,这是在CPU中自动进行的,无论这个数字,原来是不是补码,只要是做“减法”,CPU都要自动转换,包括最高位。
上述说法,可以参考《计算机组成原理》。
一般常说的求“补码”,是针对负数而言,由人工进行的。
规则是:符号位为1,不要变化,仅仅对后面的数值位,由原码求反加一。
0000 1100 - 1111 0111 = 0001 0101。
但是,CPU中,只有加法器,并没有减法器,遇到减法,CPU就要将减数全部的位,都求反加一,再与被减数相加,就是:
0000 1100 + 0000 1001 = 0001 0101。 和人工计算的结果相同。
注意:这里讲的“减数全部的位,都求反加一”,并不是常说的求“补码”,这是在CPU中自动进行的,无论这个数字,原来是不是补码,只要是做“减法”,CPU都要自动转换,包括最高位。
上述说法,可以参考《计算机组成原理》。
一般常说的求“补码”,是针对负数而言,由人工进行的。
规则是:符号位为1,不要变化,仅仅对后面的数值位,由原码求反加一。
看了 计算机中二进制减法的拓展问题...的网友还看了以下:
请问刘老师,关于设矩阵A=(k 1 1 1 1 k 1 1 1 1 k 1 1 1 1 k) 且R 2020-05-16 …
matlab 矩阵内的元素判断问题我想设计一个矩阵来得知每列为0的栏位如下id A B C D E 2020-05-16 …
有一个高为1.1米的正方体水池刚好能装满28桶水,已知水桶是一个圆柱体,...有一个高为1.1米的 2020-05-20 …
请大将帮我计算下面的计算题,运用乘法运算律,递等式的,752×1.25+4.45×12.5+0.0 2020-05-23 …
计算级网络题2.共有四个站进行码分多址CDMA通信.四个站的码片序列为:A.(-1-1-1+1+1 2020-06-11 …
公斤,斤,千克,克,两,钱的进计1:1公斤=()斤=()千克=()克=()两=公斤,斤,千克,克, 2020-07-08 …
=.题目详见下面...一、我们知道1/1×2=1/1-1/2=1/2,1/2×3=1/2-1/3= 2020-07-17 …
一、我们知道1/1×2=1/1-1/2=1/2,1/2×3=1/2-1/3=1/6验证:1/3×4 2020-07-17 …
直角三角形1:1:根号2请问各路高手:直角三角形三个角分别为30°60°90°我想问的是:1:1: 2020-07-22 …
寻找规律解数学题1/1*2=1-1/22/2*3=1/2-1/31/3*4=1/3-1/4……计算 2020-07-22 …