【计算机组成原理】 浮点数的表示( 浮点数的真值)

概览

 

 

浮点数(有理数)

浮点数,是属于有理数中某特定子集的数的数字表示,在计算机中用以近似表示任意某个实数。具体的说,这个实数由一个整数定点数(即尾数)乘以某个基数(计算机中通常是2)的整数次幂得到,这种表示方法类似于基数为10的科学计数法

 

阶码:常用补码或移码表示的定点整数,阶码E反映浮点数的表示范围及小数点的实际位置;,阶符号代表移动的方向。注意:移码只能用于表示整数,即只能用于表示阶码,不能用于表示尾数

尾数:常用原码或补码表示的定点小数,尾数M的数值部分的位数n反映浮点数的精度。

 

浮点数的小数点是变化的,小数点的位置取决阶码,可以通过调整阶码来改变尾数中小数点位置。

备注: 定点数:如纯小数0.1011和纯整数11110。数字写出来,小数点就已经固定了,在内存位置就不会变化了。

 注意:编程时候,浮点数判等不能用==。

浮点数的真值

r:底/基 E:阶码  M:尾数   可以简记为:E;M 或+E;+M  。如 a=0,01 ;1.1001 真值为211+0.026

E是整数所以用“,” 0,01是阶码,二进制通常底为2  因此0,01=21 ; 1.1001是是尾数 采用补码 因此1.1001=-0.0111  。a=0,01 ;1.1001真值就是21*-0.0111=0.1110

练习题

例:阶码、尾数均用补码表示,求b=0,10;0.01001 的真值 ,采用8进制保存

 

 

 

 有一bit的信息丢失,精度损失。有没有办法?在位数不变的情况下,尽可能的保存精度?=》有,规格化。

 浮点数的在内存中存储

阶码:常用补码或移码表示的整数,移码方便比较阶码的大小

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

浮点数的规格化

 先来看看十进制的规格化

 

十进制要求,科学技术法最高位置不能是0。可以把这个引入二进制浮点数表示。

将上面练习题的结果,左移动一位,阶码减一,结果如下:

 

 

 

 

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

 

尾数原码规格化,除符号位外, 最高是1(1.1或0.1)。

尾数补码规格化,要求符号位和最高位不一样(1.0或0.1),采用算术移位, 计算机方便判断 是否规格化,不用太过于纠结。

小练习

 

 答案:0.011;1.0100 000

 


 

 


 

posted @ 2022-06-20 18:30  小林野夫  阅读(2832)  评论(0编辑  收藏  举报
原文链接:https://www.cnblogs.com/cdaniu/