基础知识
浮点数和定点数都是对于存在小数部分的数字一种表示方法
浮点数和定点数表示法的区别?
根据国际标准IEEE 754,任意一个二进制浮点数V可以表示成下面的形式:
(1)(-1)^s表示符号位,当s=0,V为正数;当s=1,V为负数。
(2)M表示有效数字,大于等于1,小于2。
(3)2^E表示指数位。
定点数需要事先定下小数点的位置,固定的小数点位置决定了固定位数的整数部分和小数部分。定点数表示法的缺点就来自于固定的小数点位置决定了固定位数的整数部分和小数部分
这个特点,因为不利于同时表达特别大的数或者特别小的数,只能在某个对称的范围里的一部分数字。比如一个8位定点数,顶多能表示 -28 至 28范围内的数字,如果用这个体系就不能表示29这个数字了。
fixed point arithmetic is much faster than floating point arithmetic
双精度浮点数和单精度浮点数的区别?
表示范围不一样,一个是32位,一个是64位,尾数,有效数字的规定都不一样。
计算机中的计算为什么会存在误差
http://floating-point-gui.de/basic/
参考文献
fixed point notation
What Every Computer Scientist Should Know About Floating-Point Arithmetic
Introduction to Fixed Point Number Representation
https://stackoverflow.com/questions/45829846/lack-of-precision-of-the-tofixed-method-in-javascript