定点数的原码、补码、反码、移码

发布于 / 计算机组成原理 / 0 条评论

1、有符号数与无符号数

就是有没有符号呗~无符号数没有符号为,全部为数值位,有符号数有符号位。

2、定点数的定义

小数点不动,被定住了

定点整数就是小数点在末尾,定点小数就是纯小数,小数点在符号为之后,有效数值最高为之前

3、整数原码

简单粗暴。最高位为符号位,后面的是数值位。

符号位1表示负,0表示正。数值位是原码的绝对值。

8位原码0000,0000->1111,1111对应的数字是:

+0, +1, +2, ......, +127, -0, -1, -2, ......, -127

若机器字长为n+1,则原码整数范围:-(2n-1)≤x≤2n-1


4、小数原码

规则同上。8位原码0.0000000->1.1111111对应的数字是

+0.0, +2-7, +2-6, +2-7+2-6, ......, +2-1+..+2-7, -0.0, -2-7, ......, -2-7-...-2-1

若机器字长为n+1,则原码小数范围:-(1-2-n)≤x≤1-2-n


5、整数补码

最高位为符号位,后面的是数值位。

符号位1表示负,0表示正。

[x]->[x]: 正数不变,负数符号位不变,数值位全部取反并+1

[x]->[-x]:连同符号位一起全部取反并+1

正数转真值时,按照一般二进制数化十进制数直接转换即可

负数转真值时,全部(数值位连同符号位)按照一般二进制转十进制转换即可,最高位要多乘以一个-1

(例如1000,0011就是-1*2128 + 21 + 20

8位补码0000,0000->1111,1111对应的数字是

±0, 1, 2, ..., +127, -128, -127, -126, ..., -1

若机器字长为n+1,则补码整数范围:-2n≤x≤2n-1

6、小数补码

规则同上。

补码小数表示范围:-1≤x≤1-2n


7、反码

正数和原码一样。负数就是把整个原码取反

8位反码0000,0000->1111,1111对应的数字是:

+0, +1, +2, ..., +127, -127, -126, ..., -1, -0

8、移码

常用来表示浮点数的阶码,由补码加上一个偏移量得到。

8位移码0000,0000->1111,1111对应的数字是:

-128, -127, ..., -1, 0, 1, 2, ..., 126, 127

转载原创文章请注明,转载自: 斐斐のBlog » 定点数的原码、补码、反码、移码
目前还没有评论,快来抢沙发吧~