|
|
|
|
|
|
|
|
|
例如,(-0.25)10→(-0.01)2,以原码定义表示为10100000。
|
|
|
|
|
.(有)符号数:小数点在符号位最末有效位之后,其表示格式如下。
|
|
|
|
|
|
|
|
例如,(-10)10→(-1010)2,以原码定义表示为10001010。
|
|
|
.无符号数:不设符号位,小数点在符号位最末有效位之后,其表示格式如下。
|
|
|
|
设字长为n+1位,无符号数的数值表示范围为0≤N≤2n+1-1。
|
|
|
例如,(255)10→(11111111)2,以原码定义表示为11111111。
|
|
|
|
|
|
|
.规格化:为了在尾数中表示最多的有效数据位,也为了数据表示的唯一性而定义的规则。如将尾数的绝对值限制在区间[0.5, 1]中,当尾数(M)用补码表示时,有以下两种情况。
|
|
|
|
|
.浮点数的表示范围:尾数的位数决定数的精度,阶码的位数决定数的范围。而表示范围与机器的具体的表示方法及字长有关,下面举例说明。
|
|
|
例:以R为基数,有p位阶码和m位二进制尾数代码的浮点数,阶码采用二进制正整数编码表示,求数值的表示范围。
|
|
|
|
|
|
|
|
|
注:本例中没有符号位,也没有考虑阶码为负的情况。如果考虑这些因素就要考虑阶码和尾数的编码方式。
|
|
|
.浮点数的溢出:当运算的结果超出该机器浮点数可表示的范围时,则产生浮点数溢出,浮点数可表示的范围如下图所示。比如上例中,当浮点数的运算结果小于1/R(或大于R2p-1(1-2-m))时,则产生正下溢(或正上溢)。
|
|
|
|
|
|
|
则数110.011(B)=+0.110011×2+11(规格化尾数)=0 110011×2011(机器数格式)可表示为:
|
|
|
|
|
|
|
其中,1位数符(S):正数为0,负数为1;除去了最高位的尾数(f)为原码表示;阶码(E)为特殊移码表示。
|
|
|
|
|
|
例:将IEEE 754标准的精度浮点数0 10000110 01100000001000000000000转换为真值。
|
|
|
解:将特殊移码表示阶码转换为真值阶码,因为E=10000110-01111111=00000111,所以E=7;因为f=01100000001000000000000,所以1.f=1.01100000001;将1.f右移7位(因为E=7)=(10110000.0001)2=176.0625。
|
|
|