补码就是同余,这其实就是一个环
比如八位的带符号的数,所以8位只能表示256个数,即0-255
同余定理:给定一个正整数m,如果两个整数a和b满足a-b能够被m整除,即(a-b)/m得到一个整数,那么就称整数a与b对模m同余,记作a≡b(mod m)。对模m同余是整数的一个等价关系。
-128与+128模256 同余
-128的补码就是128的原码
128的原码就是-128的补码
+-原码------补码-----原码二进制--+ | 255 -1 11111111 | | 254 -2 11111110 | | 253 -3 11111101 | | 252 -4 11111100 | | 251 -5 11111011 | | 246 -10 11110110 | | 236 -20 11101100 | | 226 -30 11100010 | | 216 -40 11011000 | | 206 -50 11001110 | | 196 -60 11000100 | | 186 -70 10111010 | | 156 -100 10011100 | | 129 -127 10000001 | | 128 -128 10000000 | | 127 127 01111111 | | 100 100 01100100 | | 70 70 01000110 | | 60 60 00111100 | | 50 50 00110010 | | 40 40 00101000 | | 30 30 00011110 | | 20 20 00010100 | | 10 10 00001010 | | 5 5 00000101 | | 4 4 00000100 | | 3 3 00000011 | | 2 2 00000010 | | 1 1 00000001 | | 0 0 00000000 | +----------------------------+