一个浮点数由三部分组成:符号位S、指数部分E(阶码)以及尾数部分M。
单精度浮点数(float)总共用32位来表示浮点数,其中尾数用23位存储,加上小数点前有一位隐藏的1(IEEE754规约数表示法),2^(23+1) = 16777216。因为 10^7 < 16777216 < 10^8,所以说单精度浮点数的有效位数是7位。考虑到第7位可能的四舍五入问题,所以单精度最少有6位有效数字(最小尺寸)。
在计算机中,浮点数是以二进制形式存储的。在单精度浮点数中,一共有32个二进制位,其中最高的1位是符号位(0表示正数,1表示负数),接下来的8位是指数部分,剩下的23位是尾数部分。因为指数部分是带符号的,所以它可以表示的范围是-126到+127,但是真实的指数不是直接用这个8位的二进制数来表示的,而是通过将这个二进制数加上一个偏置量127来得到的,所以实际的指数范围是-126+127 = -1到+127+127 = 254。而尾数部分的23个二进制位可以表示2^23个不同的数,也就是2的23次方个数。这些数的大小和精度都不相同,但是它们之间的差距通常都很大。