在 OS中,数值都使用其 补码来进行表示的
数据的表示:
对于 浮点数 (或其它可变精度数,float,real),执行速度要远快于 定点数,因为它们通常有 cpu直接支持的指令进行运算
- 硬件没办法去精确表示浮点数,float和 real数据的使用会遵循 IEEE 754标准
- 近似数据并不存储为多数数字指定的精确值,它们只存储这些值的精确值
- 为了解决精确值问题,只能去使用 精确的定点数 (Fixed point decimal)
但对于 定点数 (Fixed point decimal)而言,通常需要做一些更多的处理逻辑(如用来处理精度以及其它问题,这不得不做,并没有硬件会很好地帮助我们来解决这个问题),也就意味着需要执行更多的指令
因此,使用相同的值,相同的数据集,但是数据类型不同时,处理的结果会存在精度误差,且处理时间也是相差较大的 (此处特指,可变精度数 以及 定点数)
总结:如果不想因为精度而丢失数据,就去使用 Fixed Point Decimal