二进制的码问题

要了解计算机的运算方式,那么二进制的码问题自然就很必须,所以我在这里和大家分享一下二进制中原码、反码、补码、移码问题:

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.移码:

移码表示最简单,不管是正负数,只要将其补码的符号位取反即可。

猜你喜欢

转载自www.cnblogs.com/gengshao/p/11547052.html