关于加法和减法在计算机中的原理实现?比如 3+2 和 3-2 这两个计算式在计算机内部是怎么处理的?其实也就是补码那块的知识吧.然后这两个计算式,哪一个稍微步骤多一点?
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/29 22:13:49
![关于加法和减法在计算机中的原理实现?比如 3+2 和 3-2 这两个计算式在计算机内部是怎么处理的?其实也就是补码那块的知识吧.然后这两个计算式,哪一个稍微步骤多一点?](/uploads/image/z/10450477-37-7.jpg?t=%E5%85%B3%E4%BA%8E%E5%8A%A0%E6%B3%95%E5%92%8C%E5%87%8F%E6%B3%95%E5%9C%A8%E8%AE%A1%E7%AE%97%E6%9C%BA%E4%B8%AD%E7%9A%84%E5%8E%9F%E7%90%86%E5%AE%9E%E7%8E%B0%3F%E6%AF%94%E5%A6%82+3%2B2+%E5%92%8C+3-2+%E8%BF%99%E4%B8%A4%E4%B8%AA%E8%AE%A1%E7%AE%97%E5%BC%8F%E5%9C%A8%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%86%85%E9%83%A8%E6%98%AF%E6%80%8E%E4%B9%88%E5%A4%84%E7%90%86%E7%9A%84%3F%E5%85%B6%E5%AE%9E%E4%B9%9F%E5%B0%B1%E6%98%AF%E8%A1%A5%E7%A0%81%E9%82%A3%E5%9D%97%E7%9A%84%E7%9F%A5%E8%AF%86%E5%90%A7.%E7%84%B6%E5%90%8E%E8%BF%99%E4%B8%A4%E4%B8%AA%E8%AE%A1%E7%AE%97%E5%BC%8F%2C%E5%93%AA%E4%B8%80%E4%B8%AA%E7%A8%8D%E5%BE%AE%E6%AD%A5%E9%AA%A4%E5%A4%9A%E4%B8%80%E7%82%B9%3F)
关于加法和减法在计算机中的原理实现?比如 3+2 和 3-2 这两个计算式在计算机内部是怎么处理的?其实也就是补码那块的知识吧.然后这两个计算式,哪一个稍微步骤多一点?
关于加法和减法在计算机中的原理实现?比如 3+2 和 3-2 这两个计算式在计算机内部是怎么处理的?
其实也就是补码那块的知识吧.然后这两个计算式,哪一个稍微步骤多一点?
关于加法和减法在计算机中的原理实现?比如 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的结果了.
所以当然是减法比较慢,因为减法需要转换补码.补码转换大概利用逻辑计算的话可以一步完成.所以大概就是减法比加法多一次逻辑运算.
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...
全部展开
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得向前一位借位)
收起
这个是数字逻辑的知识吧。
3转化为二进制是11, 2转换为二进制是10,正数的补码就是它本身。
计算3+2,就用11和10相加,用竖式计算,逢二进一(仿照十进制),算出101,十进制就是5.
而3-2应当看做3+(-2),负数的补码就是原码取反加一,10取反就是01,再加1变为10,由于是负数,要在前面加上一个符号位,1表示负号。所以用竖式计算时,3表示为011(0表示正)...
全部展开
这个是数字逻辑的知识吧。
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.
上面所讲的是人工算法。在计算机中是用译码器完成的。可以参看关于数字逻辑的相关书籍。
收起
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 在本例中第五位为溢出位不予考虑...
全部展开
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
收起
计算机内部没有减法的。。全部都是加法。减一个数=加一个数的补。。。计算机内部计算全部都是补码。。所以3-2可以看成3+(-2)。。。正数的补码是它的本身。。所以不要换算。负数要换算下,有个部件。内部也不复杂。。
其实步骤应该是一样的。。都要换成补码。。只不过正数转换方便一点。。手工算。感觉少了步骤。。。
偶感觉就这么多。。错了别骂我。。嘎嘎。。你怎么玩这个啦。...
全部展开
计算机内部没有减法的。。全部都是加法。减一个数=加一个数的补。。。计算机内部计算全部都是补码。。所以3-2可以看成3+(-2)。。。正数的补码是它的本身。。所以不要换算。负数要换算下,有个部件。内部也不复杂。。
其实步骤应该是一样的。。都要换成补码。。只不过正数转换方便一点。。手工算。感觉少了步骤。。。
偶感觉就这么多。。错了别骂我。。嘎嘎。。你怎么玩这个啦。
收起
B哥 计算机学狗肚里去了??
要不让李式辉给你讲一下
再不行就张楠,反正不能是刘斌。。。。。。