1、补码:
计算机的运算是一个加法器,只能做加法运算,补码能够计算减法,且加法可以溢出。
溢出(循环):256-1 与 -1 二进制一样。
负数补码计算方法:数值位(符号位外的后7位),取反+1 //不"+1"的话,减法不能成功地变为加法
-128 1000,0000 //-128是人为规定的,从-127而来,也是"+1"的原因之一
-127 1000,0001
-1 1111,1111
0 0000,0000 //-1 + 1 = 1,0000,0000就会溢出了,因为-1 与 256-1 效果一样
1 0000,0001
127 0111,1111
short -255[-1, 1]
原码1000'0000,1111111-->数值位取反
反码1111'1111,0000000-->+1
补码1111'1111,0000001
int -255[-1, -1, -1, 1]
原码1000'0000,0000'0000,0000'0000,1111111-->数值位取反
反码1111'1111,1111'1111,1111'1111,0000000-->+1
补码1111'1111,1111'1111,1111'1111,0000001