说明
在计算机中,数值用补码表示,正数的补码与原码相同,负数的补码是对应正数原码取反加1。
正数:16
转换成十六进制:0x10
再转换成二进制:0000 0000 0000 0000 0000 0000 0001 0000
负数:-16
对应正数:16
正数对应的二进制:0000 0000 0000 0000 0000 0000 0001 0000
取反:1111 1111 1111 1111 1111 1111 1110 1111
加1:1111 1111 1111 11111111 1111 1111 0000
所以-16的补码是:1111 1111 1111 11111111 1111 1111 0000
对应的十六进制:0xFFFFFFF0
也可以根据负数的二进制得到十进制:取反加1,再加负号:
实际的二进制:
1111 1111 1111 1111 1111 1111 1111 0000
取反:
0000 0000 0000 0000 0000 0000 0000 1111
加1:
0000 0000 0000 0000 0000 0000 0001 0000
对应的十进制是16
加负号:
-16
对应的代码: