计算机组成原理第二章之定点数的原补反码

1.原码:

对于0,往往有+0和-0之分,【+0】=000…0,【-0】=100…0。

n+1位定点整数原码的表示范围:-(2^n-1)~2^n-1

定点小数原码表示范围:-(1-2^(-n))~1-2^(-n)

一个字节八位,28=256,有256个编码,但是只能表示255个数,因为0占了两个编码

原码的位扩展:

例:设机器字长为八位,写出+0.375和-0.6875的二进制原码表示。

解:字长为八位,说明数值位为7位,1位符号位。

(+0.375)10=(0.011)2=(0.0110000)2

【0.0110000】原=0.0110000

 

(-0.6875)10=(-0.1011)2=(-0.1011000)2

【-0.1011000】原=1.1011000

小数的原码扩展,在低位补零,小数点前为符号位。

 

例:设机器字长为8位,写出+37和-37的二进制原码表示。

(+37)10=(+100101)2

【100101】=00100101=25H

 

(-37)10=(-100101)2

【-100101】=10100101=A5H

优点:乘除法数值位由两个数的绝对值相乘/除得到,符号位由两个数的符号位异或即可。

缺点:a.原码中0的表示有两种,给使用带来了不便。

b.加减法运算复杂。当两个数相加时,如果是同号则数值相加,如果是异号,则要进行减法。

 

2.补码:【X】=M+X(Mod M)

当x>=0时,M+X大于M,把M丢掉,所以【X】=X,即正数的补码等于它本身。

当x<0时,【X】=M+X=M-|X|,所以负数的补码等于模与该数绝对值之差。

超过模的数要丢掉。

0的补码表示:

纯小数:【+0】=【-0】=2+0.00…00=0.00…00(mod 2)

纯整数:【+0】=【-0】=2^(n+1) ±00…00=00…00(mod 2)

所以,0的补码表示只有一种形式。

 

例:-1和-2^n的补码表示(注意和原码的表示范围比较

对于小数,原码的表示范围为:-(1-2^(-n))~1-2^(-n)最小表示范围是1-2^-n 不能表示-1

对于整数,原码的表示范围为-(2^n-1)~2^n-1(n+1位定点整数)

整数的最小表示范围是-(2^n-1),不能表示-2^n

n+1位纯小数补码表示中

【-1】=2+(-1)=10.0…0+(-1.0…0)=1.0…0

n+1位纯整数补码表示中:

【-2n】=2^n+1+(-2^n)=100…0n+1个0+(-10…0)n个0

=10…0n个0

二者用的都是-0的原码,补码中0的表示唯一。-0的原码用来表示小数-1的补码和整数-2^n的补码

所以,补码和原码的表示范围不一样。

对于一个8位的整数,补码的范围为-128~+127

 

 

3.补码和原码的关系

正数的补码就是它本身,即若X>=0,【X】=【X】

X<0,对【X】按位取反(符号位不变)在最低位加一得到【X】,【X】除符号位外各位取反后,再在最低位加一,可得到【X】

另一个方法求负数补码:

低位最后一个1不变,这个1之后的0也都不变

4.【X】和【-X】的关系

已知【X】,将【X】的各位(含符号位)取反,然后在最低位上加一,得到【-X】

 

5.反码表示

反码中,0的表示不唯一

符号位表示正负。

 

6.移码

补码表示很难直接判断其值的大小,所以用移码来表示大小。

移码的表示的实质是把真值映像到一个整数域,因此移码的大小可直观的反映真值的大小。

不管是整数还是负数,用移码表示时,可按无符号数比较大小。

移码的模2^n

移码中0的表示唯一。【+0】=【-0】=2^n±0.…0=10…0(纯整数)

移码的表示范围与补码一致。

补码的数值部分不变,符号取反,得到得到移码。

移码的顺序和真值完全一致,因此在表示阶码时可以方便的进行大小比较,其结果与真值一致。

 

浮点数的表示和加减乘除

表示范围和IEEE754将在下一篇提到。

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值