一.计算机系统构成及硬件基础知识---原码补码反码及移码

2018-08-23  本文已影响0人  timma_wang

   1. 在学习原码,反码,补码,移码之前,先了解机器数。

  一个数在计算机中的二进制表现形式,叫做这个数的机器数。机器数是带符号位的,在计算机中用一个数的最高位存放符号,正数为0,负数为1.

比如,十进制中的数+3,计算机字长为8位,转换成二进制就是00000011.如果是-3,就是10000011.

2.真值,将带符号位的机器数对应的真正数值成为机器数的真值。

例:00000001的真值是 = +000 00001 = +1,100000001的真值 = -000 0001 = -1

3.原码,反码,补码,移码的概念和计算方法

(1).原码:原码就是符号位加上真值的绝对值,即用第一位表示符号,其余为表示值,例如:

【+】原 = 0000 0001

【-1】原 = 1000 0001

第一位是符号位,所以8位二进制数的取值范围就是:【1111 1111,01111 1111】,即:【-127,127】

(2).反码

正数的反码是其原码本身

负数的反码,是在原码的基础上,除符号位外其余位数取反。

【+1】=【0000 0001】原 = 【0000 0001】反

【-1】=【1000 0001】原=【1111 1110】反

(2).补码

正数的补码是其原码本身

负数的补码是在反码的基础上加1

【+1】=【0000 0001】原 =【0000 0001】反 =【0000 0001】补

【-1】=【1000 0001】原=【1111 1110】反 =【1111 1111】补

(2).移码

正负数的移码都是把补码的符号位取反

【+1】=【0000 0001】原 =【0000 0001】反 =【0000 0001】补 =【1000 0001】移

【-1】=【1000 0001】原=【1111 1110】反 =【1111 1111】补 =【0111 1111】移

4.数值取值范围:

上一篇下一篇

猜你喜欢

热点阅读