【计算机组成原理】16-定点数与浮点数

一、定点数的表示方法

(1)纯小数

乘以比例因子以满足定点数保存格式
在这里插入图片描述
在这里插入图片描述

(2)纯整数

小数点在后面
在这里插入图片描述

二、浮点数的表示方法

◆ 计算机处理的很大程度上不是纯小数或纯整数
◆ 数据范围很大,定点数难以表达

(1)浮点数的表示格式

科学计数法

𝑁 = 𝑆 × 𝑟j
S:尾数 r:基数 j:阶码

123450000000 = 1.2345 × 1011

1.2345:尾数 10:基数 11:阶码

11.0101 = 0.110101 × 210
11.0101 = 0.0110101 × 211
在这里插入图片描述

(2)浮点数的表示范围

假设阶码数值取m位,尾数数值取n位

𝑁 = 𝑆 × 𝑟𝑗

阶码能够表示的最大值: 𝟐𝒎 − 𝟏 −(𝟐𝒎 − 𝟏) 𝟐𝒎 − 𝟏

阶码表示范围: [−(𝟐𝒎 − 𝟏),𝟐𝒎 − 𝟏]

尾数能够表示的最大值: 𝟏 − 𝟐-n

尾数能够表示的最小值: 𝟐−𝒏

尾数表示范围: [𝟐−𝒏,𝟏 1− 𝟐−𝒏] [𝟐−𝒏,𝟏 − 𝟐−𝒏]
阶码表示范围: [−(𝟐𝒎 − 𝟏),𝟐𝒎 − 𝟏]
**尾数表示范围:**  [𝟐−𝒏,𝟏 − 𝟐−𝒏]
在这里插入图片描述

单精度浮点数

使用4字节、32位来表达浮点数(float)

双精度浮点数

使用8字节、64位来表达浮点数(double)

(3)浮点数的规格化

尾数规定使用纯小数
尾数最高位必须是1

正确:
11.0101 = 0.110101 × 210

错误:
11.0101 = 0.0110101 × 211 ×
11.0101 = 0.00110101 × 2^100 ^ ×
11.0101 = 1.10101 × 21 ×

例子1:

设浮点数字长为16位,阶码为5位,尾数为11位,将十进制数 13 /128表示为二进制浮点数。

原码 =反码=补码:𝑥 = 0.0001101000

浮点数规格化:𝑥 = 0.1101000 ∗ 2−11

尾数符为 0 尾数为 1101000000

阶符为1 阶码为0011

三、定点数与浮点数的对比

◆ 当定点数与浮点数位数相同时,浮点数表示的范围更大
◆ 当浮点数尾数为规格化数时,浮点数的精度更高
◆ 浮点数运算包含阶码和尾数,浮点数的运算更为复杂

浮点数在数的表示范围、精度、溢出处理、编程等方面均优于定点数
浮点数在数的运算规则、运算速度、硬件成本方面不如定点数

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值