学习文章:
https://www.cnblogs.com/zhangziqiu/archive/2011/03/30/computercode.html
https://baike.baidu.com/item/%E8%A1%A5%E7%A0%81
总结:
原码 反码 补码都是标识机器数的一种方式;
1、机器数就是一种二进制数 - 机器标识数字用的一种二进制数,这个机器数有一个特点吗,就是第一位是符号位,1标识为负数,0标识为正数;
2、真值就是真正的数值,比如机器数的开头是1代表负数,而对于真值则 -1 就是真值,机器码100 0001 并不是真值;
3、有原码就行了为什么还要有反码和补码呢?其实只是为了方便机器计算数值而已,延伸了 "模"的概念;具体反码、补码的计算直接按公式就行,如何实现了让机器可以只有加的方式实现了二进制数的减法,可以好好理解一下;
延伸:
可以理解为啥 tinyint 和 unsigned tinyint 的数值范围是 -127 ~ +127 和 255;