-128的补码是多少
-128的(八位)补码是多少?
-128,没有原码和反码。
用“取反加一”来求,就碰壁了。
-----------------------
补码,其实,就是一个“代替负数”的正数。
用十进制来说明,比较好理解。
如果,限定用 2 位 10 进制数来运算,就可以有:
24 - 1 = 23
24 + 99 = (一百) 23
舍弃进位一百 (10^2),只取 2 位结果,+99 就可以代替-1。
同样,+98 就可以代替-2。
。。。
这里的正数,就是“负数的补数”。
计算公式: 补数 = 负数 + 10^n, n 是补数的位数。
-----------------------
计算机用二进制,补数,就是补码了。
如果使用 8 位 2 进制数,2^8 = 256。
补码如下:
-1 的补码= -1 + 256 = 255 = 1111 1111 (二进制)。
-2 的补码= -2 + 256 = 254 = 1111 1110 (二进制)。
。。。
-128 的补码= 128 = 1000 000 (二进制)。
证明完毕。
使用了补码,计算机中,就没有负数了。
这样一来,计算机中,也就没有减法运算了。
因此,计算机的硬件,就得以简化。
用一个加法器,就走遍天下!
原码和反码,都没有这种功能。
所以,计算机中,根本就没有原码和反码。
只是在老师讲课时,才会说到这些无用的“知识”。
[-128]原码 = 1000 0000\x09发生了溢出,最高位表示符号位:0为正数,1为负数
[-128]反码 = 1111 1111\x09除符号位外,各位取反
[-128]补码 = 1000 0000 \x09反码的末位加1,不能影响符号位
二进制数,也是数,并不是什么什么码。
------------
如果用数字,代表其它信息,才叫做 “码”。
如:学号、车牌门牌股票统一书号英文汉字声音图像...。
------------
数字零,存到八位机中,就是:0000 0000。
同理:+1,就是 0000 0001。
再有:+2,就是 0000 0010。
。。。
其它正数,你依次递增,就行了。
------------
负数,就是依次递减呗!
这还不简单!
-1,显然就是:0-1。
二进制是:0000 0000- 0000 0001。
你如果学会了二进制,你就减吧。
结果一定是:(借1) 1111 1111。
八位机,只保存八位数,进位借位,你都不用考虑。
因此,-1 就是:1111 1111。
再减 1,就是-2:1111 1110。
。。。
减 128 次,就得到了:1000 0000。
所以,1000 0000,就是-128。
------------
正数负数零,在计算机里面,就是这么表示的,极其简单。
根本就不用说什么原码反码补码。
老外算术水平太洼,弄不明白算法。
只好编造一套谎言:
机器数符号位原码反码补码取反加一符号位不变...
你要是听这些专家的,立刻、马上,直接就被带到沟里去了!