【定点记法】
对于32位整数来说,包含1位符号位,16位整数位,15位小数位。整数部分表示2个递增次幂(和普通整数一样,2,4,8...),小数部分表示2的倒数的弟减次幂(1/2, 1/4, 1/8 ...)。例如把-173.25用定点记法表示,则
符号=1,173=10101101,0.25=0100000000000
最终结果为 1 0000000010101101 010000000000000
【浮点记法】
浮点记法包括1位符号位,8位指数位,23位小数位。符号位和小数位的意义和定点记法中类似。指数表示2^(e-127)中的e的值。对于此三部分,需要套用以下公式计算:
s * 2^(e-127) * (1+m),其中s为符号位,e为指数位,m为小数位。
例如,对于0.15625 = 1 * 2^(124-127) * (1+1/4)
【总结】
尾数位越多,精度越高;指数位越多,可表示的范围越大。
满足方程 1 + x != 1的最小x称为机器的 epsilon。
参考自《游戏引擎架构》