浮点数是一种近似表示实数的方式,其特点是尾数部分可以移动小数点。 浮点数由 尾数、指数 和符号 三部分组成。 尾数表示数字本身,指数表示小数点的位置。
尾数的限制
尾数部分通常以 二进制小数(基数为 2)的形式表示。 对于一个 N 位的尾数,表示的最小正数为 1 / 2^N。 为了避免对尾数的无效舍入,尾数的最高位通常是隐含的 1,称为 隐含位。
指数的范围
指数部分通常使用 有符号整数 表示。 由于指数代表小数点的移动量,因此它可以是正数或负数。 指数的取值范围由计算机系统所决定,通常在 [-127, 128] 之间。
范围的综合
将尾数和指数的限制结合起来,就可以得到浮点数据的范围。 对于一个 N 位的尾数和 M 位的指数,浮点数据的最小正数为 1 / 2^(N-1),最大正数为 (2-(2^(-M-1))) 2^M。 浮点数据也支持负数,范围为该正数范围的负值镜像。