浮点数在计算机中一般采用IEEE754标准来表示,其中包含三个部分:符号、指数和尾数。具体的结构如下:
符号位:用来表示浮点数的正负号,0代表正,1代表负。
指数位:用来表示浮点数的数量级,通过科学计数法来表示,例如10的3次方表示为3个指数位。指数位采用偏移编码,即在真实指数的基础上加上一个偏移量,以便于计算和表示有符号数。例如,8位指数位采用127作为偏移量,在真实指数为6的情况下,则偏移后的指数位为6+127=133,表示为二进制1000 0101。
尾数位:用来表示浮点数的精度,即小数部分,其大小由尾数位的位数来决定。在IEEE754标准中,尾数位是一个带有整数部分的小数,其中最高位默认为1,因此只需要存储小数点后的部分,称为尾数。
所以,一个32位的浮点数在IEEE754标准中的结构可以表示为:
- 31位:符号位
- 30-23位:指数位
- 22-0位:尾数位
而64位浮点数的结构类似,只是分别占用了符号位、指数位和尾数位的64、63-52和51-0位。