正数的补码是什么?
按照补码的性质:
[X]补 + [-X]补 = [0]补
那么:
[X]补 = [0]补-[-X]补
因此,正数的补码就是:
0 的补码,减去负数的补码。
想要了解补码,还得从小学说起。
大概是在小学二年级吧,就学过进位了。
两位十进制数是:0 ~ 99。
那么有:27 + 99 = (一百) 26
也可以:27 - 1 = 26
如果你忽略进位,依然保持两位数,这两种算法的功能,就是完全相同的。
如果在计算机中舍弃进位:
● 负数,就能用正数(即补码)代替;
● 用加法,也就实现了减法运算。
所谓的补码,就是一个【代替负数的正数】。
补码的来源,就是【舍弃进位】!
----------
两位十进制数,舍弃进位,就是减去一百。
因此,+99、-100,当然就是-1 了。
还有,+98,它就是-2。
·
八位二进制数:0000 0000 ~ 1111 1111。
也就是十进制:0 ~ 255。
如果出现进位:2^8 = 256。
此时,+255 (1111 1111)、再舍弃进位,也就是-1 了。
同理,+254 (1111 1110),也就是-2。
。。。
以上这些正数,就“计算机专家发明的补码”了。
小二的知识点,也能如此装 B!
你说可笑不?
而原本就是正数,当然就不用再用别的正数来代替了。
也可以说:零和正数的补码,就是它自己。
----------
补码的来源:就是【舍弃进位】!
所谓的:机器数真值符号位原码反码取反加一,都是忽悠!