总结原码,反码和补码的表示方法和运算规则.为什么在
在计算机系统中,正负数值,一律采用补码来表示和储存。
原码和反码,在计算机中,都是不存在的。
补码,是一个【代替负数运算的正数】。
利用补码,减法就可以用加法运算代替了。
计算机中,只要配置一个加法器,就可以了。
原码和反码,都没有这种功能,所以,计算机中不使用它们。
----------------------
正数,怎么就能代替负数呢?
且看 2 位 10 进制:
25 - 1 = 24
25 + 99 = (一百) 24
只要舍弃进位,+99 就能当做-1。
+99 就称为-1 的补数。
计算公式: 补数 = 负数 + 10^n, n 是位数。
----------------------
计算机用二进制,补数,就改称为:补码。
8 位 2 进制的范围:0000 0000~1111 1111(十进制 255)。
求补码的计算公式:
负数的补码 = 负数 + 2^8 = 负数 + 256。
正数,不需任何变换,直接就可以进行计算。
-1 的补码是:-1 + 256 = 255 = 1111 1111。
-2 的补码是:-2 + 256 = 254 = 1111 1110。
。。。
-128 的补码是: 128 = 1000 0000。
----------------------
运算实例: 7 - 2 = 5,用补码计算如下:
7 = 0000 0111
-2 的补码 = 1111 1110
---相加-----------
得:(1) 0000 0101 = 5
舍弃进位,结果,就完全正确。
----------------------
补码,就是补码,与原码反码毫无关系。
从取反加一来学习补码,就不能理解补码的意义。
最高位是数符位,正数符号位为0,负数符号位为1;
原码, 除符号位外的数值位与真值的数值位相同;
正数的原码、反码、补码与真值相同。
负数的反码 = 原码(除符号位外)各数值位取反;
负数的补码 = 反码最低位 + 1;
总结原码,反码和补码的表示方法和运算规则。为什么在
--------------------------
在计算机系统中,数值,一律采用补码表示和存储。
原码和反码,计算机既不使用,也不存储。
原码和反码,都是毫无用处的垃圾,你还总结它们干嘛?
所谓的补码,也是常规的数字,并非是什么码!
如果当做“什么码”来总结,那也是胡说八道。
什么是“补码”呢?
你如果上过小学,你就会知道:
● 正数,可以代替负数。
● 加法,也可以代替减法运算。
懂了小学的知识,你就不必理会那些“原码反码补码”了。