一切都是上帝的安排
据说由于减法硬件开销太大被“Say goodbye”了。所以减法就由加法但是加数是一个负数代替。
0001+1001=1010 (1+(-1)=-2)懒得算原码、反码、补码在下面详解里有表格
但是显然原码满足不了需要,于是人们发明了反码,我们正数不变把负数各位取反(符号位不变)这样相加必为1111即为-0。
0001+1110=1111(1+(-1)=-0)虽然是-0但也算是过关了
0001+1100=1101(1+(-3)=-2)完全正确
但是
0011+1110=0001(3+(-1)=1)比实际答案2少1
如果1111+0001变成正0岂不是更好
既然涉及到负数的结果少1我们就给负数反码加1,于是补码就诞生了,正数仍然不变把所有负数在反码的基础上+1。
0001+1111=0000(1+(-1)=0)完美,这样1111就可以滚去表示-8了
0001+1101=1110(1+(-3)