2.1.3定点数与浮点数 1定点数 所谓定点数就是小数点位置固定的数据。为了便于管理常把小数点置于 数据有效位的未尾或最高位之前。前者就是纯整数,后者为纯小数。在数据 表示中,可采用原码、补码、反码以及移码等形式,其中最常用的是补码。 2浮点数 在科学计算中,浮点运算是大量使用的一种运算方式。对于浮点机来说 ,由于它具有浮点数据表示,因此可对浮点数据直接处理。浮点数M的一般 表示形式为 N=m×r 其中:e=r (2.1) 其中m是尾数值,可以是整数或小数(一般为纯小数),常用原码或 补码表示 e是阶码,整数,可以用原码、补码或移码耘示,用的较多的是移码 是尾数的基数,可以是二进制、八进制十进制或十六进制閡数表示; r是阶码的基数,一般用二进制数表示。 在多数情况下,尾数和阶码为二进制数,即=2,=2;其长度分别 用和q表示,也就是二进制数的位数(不包括符号位)
2.1.3 定点数与浮点数 1.定点数 所谓定点数就是小数点位置固定的数据。为了便于管理常把小数点置于 数据有效位的末尾或最高位之前。前者就是纯整数,后者为纯小数。在数据 表示中,可采用原码、补码、反码以及移码等形式,其中最常用的是补码。 2.浮点数 在科学计算中,浮点运算是大量使用的一种运算方式。对于浮点机来说 ,由于它具有浮点数据表示,因此可对浮点数据直接处理。浮点数N的一般 表示形式为: N = m×r 其中: e = r m e q s (2.1) 其中m是尾数值,可以是整数或小数(一般为纯小数),常用原码或 补码表示; e是阶码,整数,可以用原码、补码或移码表示,用的较多的是移码; rm是尾数的基数,可以是二进制、八进制、十进制或十六进制数表示; rs是阶码的基数,一般用二进制数表示。 在多数情况下,尾数和阶码为二进制数,即rm=2,rs=2;其长度分别 用p和q表示,也就是二进制数的位数(不包括符号位)
浮点数的一般格式如图2.1所示,由尾数、尾符、阶码、和阶符组成。 q S S 图21浮点数的一般格式 尾数m是规格化的纯小数,长度为p,符号用sn表示,长度为位;阶码用 e表示,整型数据,长度为q,符号用s表示。在实际应用中,阶码常用移码 表示,这样可表示浮点数∧的范围如下: q ≤N=≤(1 (2.2) 例如当p-23,q=7,==2,尾数用原码,纯小数表示,阶码用移码,整 数表示,规格化浮点数M的表示范围为: 2-1 23127 ≤N≤(1-2
r ≤ |N|= ≤ r (2.2) m -1 -r e q r · m (1-r ) m -p r -1 e q · m -1 2 -2 7 · 2 ≤ |N| ≤ -23 (1-2 ) 2 -1 7 · 2 ≤ |N| ≤ - 129 2 (1-2 ) 127 ·2 -23 浮点数的一般格式如图2.1所示,由尾数、尾符、阶码、和阶符组成。 尾数m是规格化的纯小数,长度为p,符号用sm表示,长度为1位;阶码用 e表示,整型数据,长度为q,符号用se表示。在实际应用中,阶码常用移码 表示,这样可表示浮点数N的范围如下: 例如当p=23,q=7,rm=re=2,尾数用原码,纯小数表示,阶码用移码,整 数表示,规格化浮点数N的表示范围为: 即 图2.1 浮点数的一般格式
3.IEE754标准 IEEE754标准规定,每一个浮点数由三部分组成,即符号位S 阶码E和尾数M,有四种基本格式 ①单精度格式(32位):符号S=1位,阶码£8位,尾数№=32位。 ②扩展单精度格式:符号S=1位,阶码£11位,尾数№31位。 ③双精度格式(64位):符号S=1位,阶码E11位,尾数№52位。 ④扩展双精度格式:符号S=1位,阶码£15位,尾数63位
3. IEEE 754标准 IEEE 754标准规定,每一个浮点数由三部分组成,即符号位S、 阶码E和尾数M,有四种基本格式: ① 单精度格式(32位):符号S=1位,阶码E=8位,尾数M=32位。 ② 扩展单精度格式:符号S=1位,阶码E≥11位,尾数M=31位。 ③ 双精度格式(64位):符号S=1位,阶码E=11位,尾数M=52位。 ④ 扩展双精度格式:符号S=1位,阶码E≥15位,尾数M≥63位
EEE754标准约定,尾数M纯小数,A的左面隐含一个整数1 即1.M;阶码用移码表示,移码值为127,从而使阶码值的范围由 126~+127移到1~254。其中单精度和双精度格式如图2.2所示。 23 S E (a)单精度格式 S E M (b)双精度格式 图22正EE754标准浮点数据格式
IEEE 754标准约定,尾数M为纯小数,M的左面隐含一个整数1, 即1.M;阶码用移码表示,移码值为127,从而使阶码值的范围由- 126~+127移到1~254。其中单精度和双精度格式如图2.2所示。 图2.2 IEEE 754标准浮点数据格式
在EE754标准中,阶码0和255表示特殊数值。下面仅以32位单精度 浮点数为例,说明各字段的作用及取值范围。 若E=0,M=0,则0 若E=0,M#0,则,N=(1×2126×(0M为非规格化数据 若1sE254,则N=(-1)×2127×(1.M,为规格化数据 若E=255,M0,则№=NaN( Not a number),为非数值数据 若E=255,M=0,则N=(-1)∽o,无穷大数据。 由此可见,IEE754标准使0有了精确的表示;同时,定义了无穷大数 据,当a/0时,结果为±∞;当0/0时,结果为NaN;对于绝对值较小的数据, 为了避免下溢,允许使用非规格化数据( Denormal Number)
在IEEE 754标准中,阶码0和255表示特殊数值。下面仅以32位单精度 浮点数为例,说明各字段的作用及取值范围。 若E=0,M=0, 则N=0; 若E=0,M≠0,则, ,为非规格化数据; 若1≤E≤254, 则 ,为规格化数据; 若E=255,M≠0,则N=NaN (Not a number),为非数值数据; 若E=255,M=0, 则 ,无穷大数据。 由此可见,IEEE 754标准使0有了精确的表示;同时,定义了无穷大数 据,当a/0时,结果为±∞;当0/0时,结果为NaN;对于绝对值较小的数据, 为了避免下溢,允许使用非规格化数据(Denormal Number)。 N=(-1)S×2 -126×(0.M) N=(-1)S×2 E-127×(1.M) N=(-1)S ∽