关于原码、反码、补码的记忆

本科通信工程专业,属于电子信息专业的范畴。因为自身的兴趣,自学进入互联网行业的软件开发岗,今天在看教程自学的时候又遇到了之前在学校里的知识点。特写此随笔,巩固原码、反码、补码的知识。

原码:是最简单的机器数表示法。用最高位表示符号位,‘1’表示负号,‘0’表示正号。其他位存放该数的二进制的绝对值。

反码:正数的反码还是等于原码,负数的反码就是他的原码除符号位外,按位取反。

补码:正数的补码等于他的原码,负数的补码等于反码+1。

 

可以这么理解,补码的出现是为了实现计算机做减法,因为在硬件的世界里,没有减法器,只有加法器。通过补码,可以实现在减某个数时,通过加这个数的补码来代替。这个数与减数相加正好等于模。

反码的存在就是为了求补码而存在的,为何这样求补码?

然后我们再来看看为什么负数的补码的求法为什么是反码+1

因为负数的反码加上这个负数的绝对值正好等于1111,再加1,就是1000,也就是四位二进数的模

而负数的补码是它的绝对值的同余数,可以通过模减去负数的绝对值,得到他的补码。

所以 负数的补码就是它的反码+1。

posted @ 2020-04-22 16:52  LingWin  阅读(11)  评论(0)    收藏  举报