全部问题 > 当前问题

为什么这八个1表示-1

360截图20160316092244304.jpg

程秋明 2016-3-16 09:23:49

共 3 个回答

房可亚 2016-3-16 09:34:36

我也。。。略懵

房可亚 2016-3-16 09:57:59
它的最高位是1,所以是负数.
按补码规则,如下等式成立:
负数 = 负数的绝对值按位取反+1
负数按位取反+1 =负数的绝对值
所以11111111按位取反+1 就等于 1.
因此,对应-1
房可亚 2016-3-16 10:08:32

具体的补码转原码:分两种情况,以八位原码转换为例:
正数(符号位为0的数)补码与原码相同.
负数(符号位为1的数)变为补码时符号位不变,其余各项取反,最后在末尾+1

回到同学你的问题:11111111,首位表示符号不变,转码得10000010,首位表示负号,即-1。

问题来自: 进制的转换