负数在二进制中如何表示

负数以原码补码形式表达

原码:比如 3的原码就是 00000000 00000000 00000000 00000011
上面是正数的原码,负数的原码则是该数值绝对值的原码然后符号为+1也就是
-3 的原码 : 10000000 00000000 00000000 00000011
补码: 正数的补码和原码一样
负数的补码是原码(除符号位)取反 最后位置+1
-3 补码就是
取反: 11111111 11111111 11111111 1111110
+1: 11111111 11111111 11111111 11111101
11111111 11111111 11111111 11111101就是-3在二进制中的形态

负数的二进制转换回十进制则是 先最后位 -1 然后取反,最后加负号
11111111 11111111 11111111 11111101 -1 => 11111111 11111111 11111111 11111100
11111111 11111111 11111111 11111100 取反 => 00000000 00000000 0000000 00000011
00000000 00000000 0000000 00000011 == 3 加负号就等于 -3
参考

猜你喜欢

转载自blog.csdn.net/printf_hello/article/details/114250447