贡献者: addis
预备知识 计算机算数
,Matlab 符号计算和变精度计算
另见 “双精度和高精度浮点数测试(C++)”。
- 双精度的小数部分有 52 bit(整数部分默认取 1),正负号 1 bit。大概范围是
- 2 为底的指数部分有 11 bit。范围是 ,因为 用来表示
inf, nan
等。
所以理论上,双精度类型能精确表示绝对值小于等于 2^53
的所有整数。更大的浮点数也都精确表示整数,但不连续。这包括所有 32 bit 整数,但不包括所有 64 bit 整数,无论 signed 还是 unsigned。
Matlab 默认用 double 作为数组 index,而 53 bit 完全足够了,如果一个元素占一个字节,那么可以最大支持 9007TB 的数组。
代码 1:digits2.m
代码 2:num2bin.m
代码 3:num2bin2.m
代码 4:num2sym.m
代码 5:num2vpa.m
该函数参考 “计算机算数”
代码 6:double2bin.m
致读者: 小时百科一直以来坚持所有内容免费无广告,这导致我们处于严重的亏损状态。 长此以往很可能会最终导致我们不得不选择大量广告以及内容付费等。 因此,我们请求广大读者
热心打赏 ,使网站得以健康发展。 如果看到这条信息的每位读者能慷慨打赏 20 元,我们一周就能脱离亏损, 并在接下来的一年里向所有读者继续免费提供优质内容。 但遗憾的是只有不到 1% 的读者愿意捐款, 他们的付出帮助了 99% 的读者免费获取知识, 我们在此表示感谢。