浮点数,即采用非固定小数点位置的数制表示法,如0.12345×[公式]和0.12345×[公式],与之相对的是定点数,固定小数点位置。编程语言中,通常有双精度浮点数(如C语言中的double,用64位表示)和单精度浮点数(如float,32位)两种类型。
浮点数的表示并非简单地存储二进制整数,而是通过尾数部分(以1为前缀的十进制小数)和指数部分(EXCESS系统表示法)组合。指数位越多,表示范围越大但精度下降;反之,精度提高但范围减小。例如,0.2的二进制表示并非精确,存储时会有精度损失,因为计算机只能存储有限位数的小数。
关于浮点数的范围和精度,单精度float能表示大约从-3.4×10^38到3.4×10^38,精度为1/2^23。而双精度double的范围更广,大约在-1.79×10^308到1.79×10^308,最小精度为1/2^52。尽管有这些限制,浮点数在计算机处理小数时提供了足够的实用性和范围。