一、浮点数
当机器字长为n时,定点数的补码和移码可表示2ⁿ个数,而其原码和反码只能表示2ⁿ-1个数(0的表示占用了两个编码),因此,定点数所能表示的数值范围比较小,在运算中很容易因结果超出范围而溢出。浮点数是小数点位置不固定的数,它能表示更大范围的数。
二、 浮点数表示法
在十进制中,一个数可以写成多种表示形式,
例如,83.125可写成10³×0.083125或10⁴ ×0.0083125等。
同样,一个二进制数也可以写成多种表示形式。
例如,二进制数1011.10101
![]()
由此可知,一个二进制数N可以表示为更一般的形式N = 2ᴱ × F(其中E称为阶码,F称为尾数。用阶码和尾数表示的数称为浮点数,这种表示数的方法称为浮点表示法
![]()
在浮点表示法中,阶码为带符号的纯整数,尾数为带符号的纯小数。
![]()
三 、浮点数相加
![]()
![]()
四、 规格化浮点数
浮点数表示的数值范围由阶码决定,精度由尾数决定;为了充分利用尾数来表示更多的有效数字,通常采用规格化浮点数。规格化就是将尾数的绝对值限定在区间[0.5,1]
![]()
五、 浮点数表示数值范围
如果浮点数的阶码(包括 1 位阶符)用R位的移码表示,尾数(包括1位数符)用M位的补码表示,则这种浮点数所能表示的数值范围如下。
![]()
![]()
总结:
1、浮点数各部分表示意义:N = 尾数*基数指数
(1)一般尾数用补码,阶码用移码;
(2)阶码的位数决定数的表示范围,位数越多范围越大;
(3)尾数的位数决定数的有效精度,位数越多精度越高。
2、浮点数运算规则:对阶>尾数计算>结果格式化
(1)对阶时,小数向大数看齐;
(2)对阶是通过较小数的尾数右移实现的。
相关题目:
1、计算机中的浮点数由三部分组成:符号位 S,指数部分 E(称为阶码)和尾数部分 M。在总长度固定的 情况下,增加 E 的位数、减少 M 的位数可以( )。2011 上半年 第 5 题范围与精度
A.扩大可表示的数的范围同时降低精度
B.扩大可表示的数的范围同时提高精度
C.减小可表示的数的范围同时降低精度
D.减小可表示的数的范围同时提高精度
注意:增加 E 的位数 → 范围扩大;减少 M 的位数 → 精度降低。两者同时发生,选 A。
2、以下关于数的定点表示和浮点表示的叙述中,不正确的是( )。2012 下半年 第 3 题定点 vs 浮点(选非)
A.定点表示法表示的数(称为定点数)常分为定点整数和定点小数两种
B.定点表示法中,小数点需要占用一个存储位
C.浮点表示法用阶码和尾数来表示数,称为浮点数
D.在总位数相同的情况下,浮点表示法可以表示更大的数
注意:定点数的小数点靠"约定"、不占位;浮点数靠"阶码"、范围大。
3、机器字长为 n 位的二进制数可以用补码来表示 ______ 个不同的有符号定点小数。2015 上半年 第 1 题补码表示个数
A.2ⁿB.2ⁿ⁻¹C.2ⁿ⁻¹− 1D.2ⁿ⁻¹+ 1
注意:n 位补码可以表示2ⁿ个不同的数值。例如 8 位补码表示范围为 −128 ~ +127,共 256 = 28个不同的数。补码中“−0”的编码被用来表示一个额外的负数(如 −128),因此总数正好是2ⁿ个。
4、浮点数能够表示的数的范围是由其 ______ 的位数决定的。2015 下半年 第 3 题范围由谁决定
A.尾数B.阶码C.数符D.阶符
5、设 16 位浮点数,其中阶符 1 位、阶码值 6 位、数符 1 位、尾数 8 位。若阶码用移码表示,尾数用补码表示,则该浮点数所能表示的数值范围是(A)。2016 下半年 第 3 题范围计算
注意:根据题意:
R = 阶码 + 阶符 = 1 + 6 = 7
M = 尾数 + 数符 = 8 + 1 = 9
带入公式计算![]()
6、浮点数的表示分为阶和尾数两部分。两个浮点数相加时,需要先对阶,即( )(n 为阶差的绝对值)。2018 上半年 第 1 题对阶规则
A.将大阶向小阶对齐,同时将尾数左移 n 位
B.将大阶向小阶对齐,同时将尾数右移 n 位
C.将小阶向大阶对齐,同时将尾数左移 n 位
D.将小阶向大阶对齐,同时将尾数右移 n 位
7、以下关于两个浮点数相加运算的叙述中,正确的是( )。2020 下半年 第 3 题对阶规则A.首先进行对阶,阶码大的向阶码小的对齐
B.首先进行对阶,阶码小的向阶码大的对齐
C.不需要对阶,直接将尾数相加
D.不需要对阶,直接将阶码相加
8、某种机器的浮点数表示格式如下(允许非规格化表示)。若阶码以补码表示,尾数以原码表示,则 1 0001 0 0000000001 表示的浮点数是( )。2021 下半年 第 6 题位串解析
A.2⁻¹⁶ × 2⁻¹⁰B 2⁻¹⁵ × 2⁻¹⁰C 2⁻¹⁶ ×(1- 2⁻¹⁰ ) D 2⁻¹⁵ × (1-2⁻¹⁰)
![]()
9、浮点数的一般表示形式为N = 2ᴱ × F,其中 E 为阶码,F 为尾数。以下关于浮点表示的叙述中,错误的 是( )。2009 下半年 第 3 题规格化(选非)
A.阶码的长度决定浮点表示的范围,尾数的长度决定浮点表示的精度
B.工业标准 IEEE754 浮点数格式中阶码采用移码、尾数采用原码表示
C.规格化指的是阶码采用移码、尾数采用补码
D.规格化表示要求将尾数的绝对值限定在区间(0.5,1]
10、浮点数的一般表示形式为N = 2ᴱ × F,其中 E 为阶码,F 为尾数。两个浮点数进行相加运算,应该先( )。2009 下半年 第 4 题运算步骤A.将较大的数进行规格化处理
B.将较小的数进行规格化处理
C.将这两个数的尾数相加
D.统一这两个数的阶码