点击上方“大鱼机器人”,选择“置顶/星标公众号”
福利干货,第一时间送达!
编排 | strongerHuang
微信公众号 | 嵌入式专栏
我们学过数学,都知道有理数和无理数,然后在有理数中有一类叫浮点数的数字,不知道大家对这些还有没有印象?
在软件编程的时候,我们也会用到浮点数,一种既包含小数又包含整数的数据类型。
下面就来讲讲关于浮点数中,单精度、双精度、多精度和混合精度计算的区别。
嵌入式专栏
1
关于圆周率 π
我们提到圆周率 π 的时候,它有很多种表达方式,既可以用数学常数3.14159表示,也可以用一长串1和0的二进制长串表示。
圆周率 π 是个无理数,既小数位无限且不循环。因此,在使用圆周率进行计算时,人和计算机都必须根据精度需要将小数点后的数字四舍五入。
在小学的时候,小学生们可能只会用手算的方式计算数学题目,圆周率的数值也只能计算到小数点后两位——3.14;而高中生使用图形计算器可能会使圆周率数值排到小数点后10位,更加精确地表示圆周率。在计算机科学中,这被称为精度,它通常以二进制数字来衡量,而非小数。
对于复杂的科学模拟,开发人员长期以来一直都依靠高精度数学来研究诸如宇宙大爆炸,或是预测数百万个原子之间的相互作用。
数字位数越高,或是小数点后位数越多,意味着科学家可以在更大范围内的数值内体现两个数值的变化。
借此,科学家可以对最大的星系,或是最小的粒子进行精确计算。
但是,计算精度