Multiply Strings
Multiply Strings 译作字符串相乘,取自 LeetCode 算法训练第 43 题(Multiply Strings),它还有个更加直白的称呼,叫做“大数相乘”。
此题的背景是因为计算机编程语言对于数字实现的进度缺陷和不足进而衍生出来的一道算法题,众所周知,JavaScript 的数字实现是基于 IEEE754 数值标准。在此标准下,会出现以下几种情况
0.1 + 0.2 === 0.3 // false 原因是 0.1 + 0.2 = 0.30000000000000004 |
以上是对于浮点数而言,原因是 JavaScript 的数值标准只能最高显示 17 位的浮点精度。对于整数,依旧有这个问题,整数的显示进度是 10^20
1000 * 10000000000000000 * 10 = 100000000000000000000 // 20个0 |
数值范围
以上讲的大概是精度问题,对于数值范围也是会影响到运算,JavaScript 并不能保存所有的数值,他有几个属性,表示数值范围。