码制

正数(整数、小数)的原码,反码,补码相同

负数(整数、小数)原码符号位为1,其余位表示数值的绝对值。

负数(整数、小数)反码符号位为1,其余位取反。

①负数(整数、小数)的补码为其反码加1(原码→反码→加一)

②负数(整数、小数)补码,原码符号位不变,从最低位开始,直到遇见第一个1为止,不变,保留这个1,后面按位取反。

原码

数X的原码记为[X]原

X为纯整数时

0 ≤ X ≤ 2^(n-1)时,[X]原 = X

-2^(n-1) ≤ X ≤ 0时,[X]原 = 2^(n-1) + |X|

X为纯小数时

0 ≤ X <1时,[X]原 = X

-1 <X ≤ 0时,[X]原 = 2^0 + |X|

n位机器数的最高位是符号位,0为正,1为负,剩下n-1位表示数值的绝对值。

(+10)D=[0000 1010]原

(-10)D=[1000 1010]原

(+0.5)D=[0.100 0000]原

(-0.5)D=[1.100 0000]原

零的原码有两种形式

[+0]原=0000 0000,[-0]原=1000 0000。

真值和原码之间的对应关系简单,乘除简单,加减复杂。

反码

数X的反码记为[X]反

0 ≤ X ≤ 2^(n-1)时,[X]反 = X

-2^(n-1) ≤ X ≤ 0时,[X]反 = 2^n - 1 + X

X为纯小数时

0 ≤ X <1时,[X]反 = X

-1 <X ≤ 0时,[X]反 = 2 - 2^(-(n-1)) + X

正数反码就是其本身

负数反码,符号位不变,其他位取反(整数符号位为最高位;纯小数符号位为小数点前一位,符号位占一位)


(+10)D=[0000 1010]反

(-10)D=[1111 0101]反

(+0.5)D=[0.100 0000]反

(-0.5)D=[1.011 1111]反

[+0]反=0000 0000,[-0]反=1111 1111。

补码

数X的补码记为[X]补

0 ≤ X ≤ 2^(n-1)时,[X]补 = X

-2^(n-1) ≤ X ≤ 0时,[X]补 = 2^n + X

X为纯小数时

0 ≤ X <1时,[X]补 = X

-1 <X ≤ 0时,[X]补 = 2 + X

补码最高位为符号位,0为正,1为负,正数补码同原码相同;负数的补码为原码符号位不变,其余位取反加一。

移码

移码表示法是在数X上增加一个偏移量来定义的用于表示浮点数中的阶码。如果机器字长为n,规定偏移量为2^(n-1)

偏移2^(n-1)的情况下,只要将补码的符号位取反便可获得相应的移码表示。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值