计算机组成原理——浮点数的表示

简介: 计算机组成原理——浮点数的表示

从科学计数法出发


普通计数法: +302657264526


科学计数法:+3.026 * 10^11


将11提出来就是阶码,写成浮点数形式就是+11 +3.026


浮点数的表示


定点数:如纯小数0.1011和纯整数11110


浮点数表示形式



阶码:常用补码或移码表示的定点整数


尾数:常用原码或补码表示的定点小数


浮点数的真值:



阶码E反映浮点数的表示范围及小数点的实际位置;


尾数M的数值部分的位数n反映浮点数的精度。


举个栗子


例题:阶码、尾数均用补码表示,求a、b的真值


a = 0,01;1.1001


b = 0,10;0.01001


解:


a: 阶码0,01对应真值+1


尾数1.1001对应真值-0.0111


a的真值 = 21×(−0.0111) = −0.111


(相当于尾数表示的定点小数算数左移一位,或小数点右移一位)


b: 阶码0,10对应真值+2


尾数0.01001对应真值+0.01001


b的真值 = 22×(+0.01001) = +1.001


(相当于尾数表示的定点小数算数左移2位,或小数点右移2位)


浮点数尾数的规格化


规格化浮点数:规定尾数的最高数值位必须是一个有效值 。


左归与右归


左规:当浮点数运算的结果为非规格化时要进行规格化处理, 将尾数算数左移一位,阶码减1。


右规:当浮点数运算的结果尾数出现溢出(双符号位为01或10)时, 将尾数算数右移一位,阶码加1。


说白了就是:


左归就是通过算数左移、阶码减1 来规格化


右归就是通过算数右移、阶码加1 来规格化


例题:浮点数加法


例:a = 010;00.1100,b = 010;00.1000,求a+b


解:a = 22×00.1100 ,b = 22×00.1000


a+b


= 22×00.1100 + 22×00.1000


= 22×(00.1100 + 00.1000)


= 22×01.0100


= 23×00.1010


(注:采用“双符号位” ,当溢出发生时,可以挽救。更高的符号位是正确的符号位)


规格化浮点数的特点


1. 用原码表示的尾数进行规格化:


正数为0.1××…×的形式,其最大值表示为0.11…1;最小值表示为0.10…0。


尾数的表示范围为1/2≤M≤(1−2−n)。


负数为1.1××…×的形式,其最大值表示为1.10…0;最小值表示为1.11…1。


尾数的表示范围为−(1−2−n)≤M≤−1/2。


2. 用补码表示的尾数进行规格化:


正数为0.1××…×的形式,其最大值表示为0.11…1;最小值表示为0.10…0。


尾数的表示范围为1/2≤M≤(1−2−n)。


负数为1.0××…×的形式,其最大值表示为1.01…1;最小值表示为1.00…0。


尾数的表示范围为−1≤M≤−(1/2+2−n)


3. 表示范围



4. 注意事项(※)


1. 规格化的原码尾数,最高数值位一定是1


2. 规格化的补码尾数,符号位与最高数值位一定相反


3. 补码算数左移,低位补0;补码算数右移,高位补1

相关文章
【408计算机组成原理】—移位运算(七)
【408计算机组成原理】—移位运算(七)
|
1月前
|
存储
计算机进制转换
计算机进制转换
23 4
|
存储
计算机底层知识之处理小数
计算机精度缺失 推荐阅读指数 ⭐️⭐️⭐️ 如何用二进制表示小数 推荐阅读指数 ⭐️⭐️⭐️⭐️⭐️ 计算机精度缺失的原因 浮点数 推荐阅读指数 ⭐️⭐️⭐️⭐️⭐️ 正则表达式和EXCESS系统 推荐阅读指数 ⭐️⭐️⭐️⭐️⭐️
144 0
计算机底层知识之处理小数
408计算机组成原理学习笔记——浮点数的表示和运算
408计算机组成原理学习笔记——浮点数的表示和运算
1114 1
408计算机组成原理学习笔记——浮点数的表示和运算
408计算机组成原理学习笔记——数制和编码
408计算机组成原理学习笔记——数制和编码
333 1
408计算机组成原理学习笔记——数制和编码
计算机组成原理<三>——数据的表示和运算(上)
计算机组成原理<三>——数据的表示和运算(上)
计算机组成原理<三>——数据的表示和运算(上)
|
存储 人工智能 BI
计算机组成原理<四>——数据的表示和运算(下)(三)
计算机组成原理<四>——数据的表示和运算(下)
计算机组成原理<四>——数据的表示和运算(下)(三)