为了表示负数,在典型的计算机系统中,二进制是以补码的形式存储的。什么是补码,两个整数的加减法如何用二进制过程实现?并写出以下运算的二进制过程:13+14,-13-14,
13-14…
什么是补码?
为什么是补码?
其实,补码,还是很好理解的。
但是,从“原码反码取反加一”入手,就理解不了了。
----------------------
计算机,每次进行计算,位数,是固定的。
八位的计算机,每次计算,就只有八位二进制数。
16 位机、32 位机、64 位机 ...,也都是雷同的。
那么:
数值 0,八位机存的就是:0000 0000,这没有疑问吧?
数值 +1,就是 0+1。即:0000 0001,你可以理解吧?
数值-1,那显然就是 0-1 了。
你用二进制算算看,差,是多少?
忽略借位,差,就是:1111 1111 (十进制 255)。
这个正数,就被称为:-1 的补码。
数值-X,怎么存放?
那就按照 0-X 算呗! 肯定可以得出这正数的结果。
正数,就是负数(-X) 的补码。
---------------------
补码,是一个正数。(如:-1 的补码就是 255。)
补码,是一个“代替负数计算”的正数。
这说法,对吗?
你可以验算一下。
比如,等式:-1 + 1 = 0,是成立的。
转换为补码:[-1]补 + [+1]补 = [0]补,也必须成立。
代入数值,计算如下:
1111 1111 + 0000 0001 = (1) 0000 0000
你舍弃进位,等式就成立了。
这说明:
用补码(正数),就可以代替负数。
同时,加法,也就代替了减法运算。
用补码计算,与普通二进制的算法相同,逢二进一。
但是,进位,必须舍弃。
---------------------
常见的问题:为什么数据在内存里是以补码的形式存储?
正确答案是:简化算法,从而简化硬件。
这也就是:补码存在的意义。
补码的理论,就是这么简单。
老外算术不行,二进制运算,弄不利索。
这才编造了“原码反码取反加一符号位不变”。
而计算机中,根本就不用原码和反码。
我们的计算机老师脑子不好用,被老外骗得滴溜滴溜转。
跟着老外绕了老大一圈,也讲不明白“补码的存在意义”。
学生学完了,也不知道:为什么数据在内存里是以补码的形式存储?
所以啥是补码orz
…
追答是对一些一东西的称呼比如光 电 电流 激光器什等用来算数据 数码 数值
本回答被提问者和网友采纳