计算机浮点数通常采用IEEE 754标准进行表示,其标准表示法包括三个部分:符号位、指数位和尾数位。
符号位(S):
表示浮点数的正负,0表示正数,1表示负数。
指数位(E):
表示浮点数的量级,采用移码表示。指数的实际值等于二进制表示的值减去偏移量(bias)。对于单精度浮点数(float),偏移量为127;对于双精度浮点数(double),偏移量为1023。
尾数位(M):
表示浮点数的精确值,采用原码表示。尾数的最高位为1,表示这是一个规格化数;若最高位为0,则表示这是一个非规格化数。尾数的位数根据浮点数的类型(单精度或双精度)而定,单精度为23位,双精度为52位。
具体表示格式如下:
单精度浮点数(float):符号位(1位) | 指数位(8位) | 尾数位(23位)
双精度浮点数(double):符号位(1位) | 指数位(11位) | 尾数位(52位)
例如,浮点数3.1415926在IEEE 754标准下的表示为:
单精度:0 10000000 01111001 10011100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011