怕忘记了,做个小小笔记。 (二进制) (符号位和补码) (加一)
负数取数值部分的补码+1,最高位置一即可。例如-1 -> 00000001 -> 11111110 -> 11111111。
(内存表现形式) (丢弃符号位,后取反) (加一) (转换成十进制,加符号)
-127 = 0x81 -> 10000001 -> 01111110 -> 01111111 -> 127 -> -127
为什么这样设计呢?我是从计数器的上溢和下溢来理解的。
ok,收工!
怕忘记了,做个小小笔记。 (二进制) (符号位和补码) (加一)
负数取数值部分的补码+1,最高位置一即可。例如-1 -> 00000001 -> 11111110 -> 11111111。
(内存表现形式) (丢弃符号位,后取反) (加一) (转换成十进制,加符号)
-127 = 0x81 -> 10000001 -> 01111110 -> 01111111 -> 127 -> -127
为什么这样设计呢?我是从计数器的上溢和下溢来理解的。
ok,收工!