为了表示负数,在典型的计算机系统中,二进制是以补码的形式存储的。什么是补码,两个整数的加减法如何用

为了表示负数,在典型的计算机系统中,二进制是以补码的形式存储的。什么是补码,两个整数的加减法如何用二进制过程实现?并写出以下运算的二进制过程: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

你舍弃进位,等式就成立了。

这说明:

  用补码(正数),就可以代替负数。

  同时,加法,也就代替了减法运算。

用补码计算,与普通二进制的算法相同,逢二进一。

  但是,进位,必须舍弃。

---------------------

常见的问题:为什么数据在内存里是以补码的形式存储?

正确答案是:简化算法,从而简化硬件。

 这也就是:补码存在的意义。

补码的理论,就是这么简单。

老外算术不行,二进制运算,弄不利索。

这才编造了“原码反码取反加一符号位不变”。

而计算机中,根本就不用原码和反码。

我们的计算机老师脑子不好用,被老外骗得滴溜滴溜转。

跟着老外绕了老大一圈,也讲不明白“补码的存在意义”。

学生学完了,也不知道:为什么数据在内存里是以补码的形式存储?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-03-09
现在的计算机中,都是高、低电平,是电压信号。

但是,通常是用二进制数,来表示。

这些二进制数,有些人,就把它们,想像成补码,用来代表有符号数。

其实,并非所有的人,都是这么想的。

比如:
mov AL, 3
add AL, -125

结果,AL = 1000 0110B。

你可以把它理解成-122,也可以认为是134。
------
就是说,计算机中,都是二进制数,这是肯定的。

是不是补码 ?这就要看《人》了。

谁愿意说是补码,就由他们说去,不用跟他们较真。

其实,绝大多数,都不是补码。追问

所以啥是补码orz

追答

是对一些一东西的称呼比如光 电 电流 激光器什等用来算数据 数码 数值

本回答被提问者和网友采纳
相似回答