计算机专业的人所弄出“原码反码补码求反加一”,显然是太笨了。
其实,问题并没有那么复杂。
就拿八位机来说吧:
十进制数 0,是用八位二进制 0000 0000 来存放的。
十进制数 +1,就加上一个 1,二进制就是 0000 0001;
十进制数 +2,就再加一个 1,二进制就是 0000 0010;
... ...
十进制数 +127,你加来加去,就能得到了 0111 1111。
--------
同样道理,负数,你就一个一个的减呗。
十进制数 -1,你就减一个 1,就是二进制 1111 1111;
十进制数 -2,你再减一个 1,就是二进制 1111 1110;
... ...
十进制数 -128,你反复的减,就有二进制 1000 0000。
(不能再减了。再减,就是 +127 了。)
--------
上述这些二进制,就是十进制数的补码。
难以理解吗?
计算机专业,恐怕不容易理解这些。
原码反码,在计算机中,并不使用,也并不存在。
计算机专业,对这些没有的知识,倒是头头是道。