关于加法和减法在计算机中的原理实现? 比如 3+2 和 3-2 这两个计算式在计算机内部是怎么处理的?

其实也就是补码那块的知识吧。然后这两个计算式,哪一个稍微步骤多一点?

加法就是加法,计算机里面只做加法。所以加法就是直接的加法。
3+2 = (11)二进制+ (10)二进制= (100)二进制 = 5

减法比较复杂,减法可以看成负数的加法。也就是加上一个数的补码
例如3 - 2 = 3 + (-2)
而要得到-2,就要求2的补码。
假设你的字长是4位,那 2 = 0010。2的补码就是2的反码+1, 反码(2)=1101,然后再加1,就是1110 (=-2).

那3 = 0011, 3+ (-2) = 0011 + 1101 = (1)0001。 括号里面那个1是进位的1,因为字长只有4位,所以直接舍去进位的1,这样剩下来的就是0001 = 1也就是3-2的结果了。

所以当然是减法比较慢,因为减法需要转换补码。补码转换大概利用逻辑计算的话可以一步完成。所以大概就是减法比加法多一次逻辑运算
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-01-23
3在计算机中用二进制表示为0011
2在计算机中用二进制表示为0010
所以3+2=0011+0010=0101=5
(计算机中加法计算原理: 0+0=0; 0+1=1; 1+1=0进1)
减法在计算机中用加补码的方法来解决。
2的补码为它的反码1101加1等于1110
所以3-2=0011+1110 = 10001 在本例中第五位为溢出位不予考虑,所以结果为0001=1
第2个回答  2011-01-24
计算机内部没有减法的。。全部都是加法。减一个数=加一个数的补。。。计算机内部计算全部都是补码。。所以3-2可以看成3+(-2)。。。正数的补码是它的本身。。所以不要换算。负数要换算下,有个部件。内部也不复杂。。
其实步骤应该是一样的。。都要换成补码。。只不过正数转换方便一点。。手工算。感觉少了步骤。。。
偶感觉就这么多。。错了别骂我。。嘎嘎。。你怎么玩这个啦。
第3个回答  2011-01-23
3在计算机中表示为0 0 11
2在计算机中表示为0 0 10
所以3+2= 0 0 11 + 0 0 1 0 = 0 1 0 1=5
(计算机中加法计算原理: 0 + 0 =0; 0 + 1 =1; 1 + 1 =0进1)
3-2= 0 0 11 - 0 0 1 0 = 0 0 0 1=1
(计算机中减法计算原理: 0 - 0 =0; 1 - 0 =1; 1 - 1 =0;0-1=1得向前一位借位)
第4个回答  2011-01-23
这个是数字逻辑的知识吧。
3转化为二进制是11, 2转换为二进制是10,正数的补码就是它本身。
计算3+2,就用11和10相加,用竖式计算,逢二进一(仿照十进制),算出101,十进制就是5.
而3-2应当看做3+(-2),负数的补码就是原码取反加一,10取反就是01,再加1变为10,由于是负数,要在前面加上一个符号位,1表示负号。所以用竖式计算时,3表示为011(0表示正),-2表示为110。两个数相加,也是逢二进一,得到1001,多出的第一位1舍去。第一个0是正号,然后01就是十进制的1.
上面所讲的是人工算法。在计算机中是用译码器完成的。可以参看关于数字逻辑的相关书籍。
相似回答