二进制的码问题
要了解计算机的运算方式,那么二进制的码问题自然就很必须,所以我在这里和大家分享一下二进制中原码、反码、补码、移码问题:
1.原码
原码就是最高位符号位加上数值为的表示,比如一个8位二进制的表示:
+1表示为0000 0001
-1表示为1000 0001
第一位是符号位,其余位为数值位,所以得到8位二进制取值范围是
[1111 1111 , 01111 1111] 即 [-127 , 127]
2.反码
反码的表示为:
①正数的反码是其本身
②负数的反码是在其原码的基础上,符号位不变,其余各位依次取反
+1原码:0000 0001 反码:0000 0001
-1原码:1000 0001 反码:1111 1110
3.补码
补码的表示为:
①正数的补码是其本身
②负数的补码是在原码基础上,符号位不变,其余各位取反,最后加1(即在反码基础上加1)
+1原码:0000 0001 反码:0000 0001 补码:0000 0001
-1原码:1000 0001 反码:1111 1110 补码:1111 1111
4.移码:
移码表示最简单,不管是正负数,只要将其补码的符号位取反即可。