将原始数据进行整数化:
(178.125)10*(2^3)10
=(178.125)10*(8)10
=(1425)10
=(591)16
=(0101 1001 0001)2
=(010110010001)2
因为最初乘了8,即2的3次方,所以换算成二进制时应右移3位,去掉前导零,
即(10110010.001)2
单精度浮点数保存的字节格式如下:
地址:+0 +1 +2 +3
内容:SEEE EEEE EMMM MMMM MMMM MMMM MMMM MMMM
根据IEEE浮点数的定义,将上述二进制数规格化:
(178.125)10
>(10110010.001)2
>+1.0110010001 * (2^7)
符号S为正,等于0 B;
指数EEEEEEEE为7+127=134,等于10000110 B;
尾数为01100100010000000000000 B;
合成后为
0 10000110 011 0010 0010 0000 0000 0000
重新分割:
0100 0011 0011 0010 0010 0000 0000 0000
若将上述值表示为十六进制数,则为(43 32 20 00)16。
IEEE 754 标准是IEEE二进位浮点数算术标准(IEEE Standard for Floating-Point Arithmetic)的标准编号[1] ,等同于国际标准ISO/IEC/IEEE 60559[2] 。该标准由美国电气电子工程师学会(IEEE)计算机学会旗下的微处理器标准委员会(Microprocessor Standards Committee, MSC)发布。这个标准定义了表示浮点数的格式(包括负零-0)与反常值(denormal number),一些特殊数值(无穷(Inf)与非数值(NaN)),以及这些数值的「浮点数运算子」;它也指明了四种数值修约规则和五种例外状况(包括例外发生的时机与处理方式)
该标准的全称为IEEE二进位浮点数算术标准(ANSI/IEEE Std 754-1985),又称IEC 60559:1989,微处理器系统的二进位浮点数算术(本来的编号是IEC 559:1989)[1]。后来还有「与基数无关的浮点数」的「IEEE 854-1987标准」,有规定基数为2跟10的状况。现在最新标准是「IEEE 854-2008标准」。
IEEE 754 标准规定了计算机程序设计环境中的二进制和十进制的浮点数自述的交换、算术格式以及方法[1] 。