软件设计师 上午题 #1 计算机系统知识p8 浮点数

 

目录

一、浮点数

1.1 阶码的加减

1.1.1 阶码的对阶

真题补充


 

 

一、浮点数

        当机器字长为n时,定点数的补码和移码可表示个数,而其原码和反码只能表示个数

(0的表示占用了两个编码),因此,定点数所能表示的数值范围比较小,在运算中很容易因结果超出范围而溢出

浮点数是小数点位置不固定的数,它能表示更大范围的数。

例如十进制中:83.125 = 10² * 0.83125 或者 83.125 =10³ * 0.083125

二进制中:1011.10101 = 2 * 101.110101

1011.10101 = * 10.1110101

1011.10101 = * 1.01110101

类似其他的进制也可以这样推导出

所以二进制数N可以用公式表示: 

E称为阶码,F成为尾数,用阶码和尾数表示的数成为浮点数,这种表示数的方法称为浮点表示法

但是!需要知道的一点,最重要的一点就是!尾数必须是纯小数!意思就是小数点左边必须都是0

软件设计师 上午题 #1 计算机系统知识p8 浮点数_第1张图片

 

1.1 阶码的加减

 

小数点后面的是尾数,4是阶码

 

如果阶码相同,直接相加就行,例如

软件设计师 上午题 #1 计算机系统知识p8 浮点数_第2张图片

如果阶码不同,则必须先对阶

例如 10² * 0.1 + 10³ * 0.2 ==> 先对阶就是 10³ * 0.01 + 10³ * 0.2 = 210

软件设计师 上午题 #1 计算机系统知识p8 浮点数_第3张图片

1.1.1 阶码的对阶

 但是阶码是大的向小的对阶,还是小的向大的对阶呢?

这里必须明确的一点就是,小阶向大阶对齐

 软件设计师 上午题 #1 计算机系统知识p8 浮点数_第4张图片

 

软件设计师 上午题 #1 计算机系统知识p8 浮点数_第5张图片

就是小阶向大阶对其,损失的数比较少;大阶向小阶对其,损失的比较多!

对阶:小阶向大阶对齐,浮点数(小数点)右移!

 

 一个数的浮点表示不是唯一的。当小数点的位置改变时,阶码也随着相应改变,因此可以用多个浮点形式表示同一个数。例如12的表示:

软件设计师 上午题 #1 计算机系统知识p8 浮点数_第6张图片

 浮点数所能表示的数值范围主要由阶码决定,所表示数值的精度则由尾数决定

E越大,表示的范围越大,F越大,小数点后面的数就可以越多,也就越准确

为了充分利用尾数来表示更多的有效数字,通常采用规格化浮点数规格化浮点数就是将尾数的绝对值限定在区间[0.5 , 1]

额外补充要记的:

 

真题补充

软件设计师 上午题 #1 计算机系统知识p8 浮点数_第7张图片

解析:套用上面额外补充的内容,算出选B

 

软件设计师 上午题 #1 计算机系统知识p8 浮点数_第8张图片

解析:(3) 错误的是C,不过这里有点问题,细心的可以看出来。这里对应的就是额外的那个内容,不过人家指的却不是规格化。

(4)原话,要相加,先统一阶码。

 

 

你可能感兴趣的:(浮点数,硬件架构)