计算机基础:负数的二进制问题
我们计算机中由十进制转为二进制(以4位为例)
第一位表示正负:正数为0,负数为1
正数如下:
0–>0000
1–>0001
2–>0010
3–>0011
4–>0100
5–>0101
6–>0110
7–>0111
而负数我们一般人会认为-1–>1000,但是计算机中却不是如此:
-1–>1111
-2–>1110
-3–>1101
-4–>1100
-5–>1011
-6–>1010
-7–>1001
-8–>1000
这是因为在十进制中-1+1=0
在二进制中0001+1111=10000,这时会多出一位,计算机会舍弃也就是0000
这样会使计算中的逻辑符合我们的计算逻辑,但是和我们的想法会有出入。
也就是说负数的二进制是正数的反码+1。
这也是计算机小白在刚接触计算机时要特别注意的,要知道其中的原理,这样理解起来就不是很困难了。