定点数的表示

定点数的表示

无符号数

整个机器字长的全部二进制位为
数值位,没有符号位,相当于数的绝对值
e.g.机器字长为8位,则数的表示范围为0~28-1
0000 0000~1111 1111即0~255;28-1=255

有符号数

二进制数的最高位为符号位0为正、1为负,将符号数值化
符号数=符号位+有效数字
符号数的机器表示有 原码、补码、反码、移码
X表示真值、[X]、[X]、[X]、[X]

机器数的定点表示

约定机器数中小数点位置固定不变。

定点小数

将小数点的位置固定在符号位之后、数据的最高位之前
符号位与数值之间用小数点隔开
定点小数

定点整数

将小数点的位置固定在数据的最低位之后
符号位与数值之间用逗号隔开
定点整数

原码、反码、补码、移码

X为真值,
若机器的字长为n+1位,尾数(数值的有效部分)为n位

原码[X]

符号位+真值绝对值
若机器字长为n+1位,
原码整数的表示范围为 -(2n-1)~2n-1
原码小数的表示范围为 -(1-2-n)~1-2-n
真值0:+0、-0两种形式(关于原点对称)

纯小数原码

菜鸡笔记:负几次方,就是该数几次方的倒数
低位补零
+0.75D:+0.11B [x]=0.1100000
-0.75D:-0.11B [x]=1.1100000
0.5 0.25 0.125

纯整数原码

高位补零
+19D: +10000B [x]=0,0010000
-19D:-10000B [x]=1,0010000
64 32 16 8 4 2 1

反码[X](过渡码)

符号位为0(正数),反码与原码相同
符号位为1(负数),数值位全部取反
e.g. X=+19D 机器字长为8
[X]=0,0010011
[X]=0,0010011
e.g. X=-0.75D 机器字长为8
[X]=1.1100000
[X]= 1.0011111

补码[X]

在计算机系统中,数值一律用补码来表示和存储
原因在于,使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理。

  • 补码性质:

  • 在补码表示中,最高位(符号位)表示数的正负,在形式上与原码相同,即 0正 1负。但补码的符号位是数值的一部分,由补码定义式计算而得。

  • 补码的真值0:只有唯一一种表示形式
    [+0]=00000000、[-0]=10000000
    [+0]=00000000、[-0]=111111111
    [+0]=00000000、[-0]=00000000

  • 负数补码表示的范围比原码稍宽,多一种数码组合。
    对于定点数,
    若为纯小数,表示范围为:-1~1-2-n(比原码多-1)
    若为纯整数,表示范围为:-2n~2n-1(比原码多-2n)

  • 求补码:
    正数的补码=原码
    负数的补码=反码末位+1(要考虑进位取反加1
    将负数补码转为原码的方法相同:为数取反,末位+1

  • 补码算数位移
    符号位与数值位一起右移一位,并保持原符号位不变,可实现除法(除以2)

  • 变形补码(模4补码)
    模4补码:两个二进制位表示符号位,其余位与补码相同。双符号位00表示正,11表示负。任意一个正确数值的,模4补码的双符号位都相同,只需存储一个

定点整数

[X]=1,0000000
[X]=1,0000000,表示-27
若机器字长为n+1位,
补码整数的表示范围==-2n~2n-1==(比原码整数多-2n)

定点小数

[X]=1.0000000,表示–1
若机器字长为n+1位,
补码小数的表示范围==-1~1-2-n==(比原码整数多-1)

移码

补码的基础上将符号位取反,只能表示整数(和补码一样真值0的表示形式只有1种)
[X]=2n+x(2n>x>=-2n,机器字长为n+1)
特性:

  1. 移码保持了数据原有的大小顺序,移码越大真值就大,移码越小真值就小。
  2. 移码全0时,对应真值的最小值为-2n,移码全1时,对应真值的最大值为2n-1
  3. 零唯一[+0]=-2n+0=[-0]=2n-0=100···0(n个0)注意:补码和移码的0的表示形式不同
  4. 一个真值的移码和补码只差一个符号位。
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值