展示 IEEE754 下双精度浮点数的内部表示,对 0.1 + 0.2 !== 0.3
问题或者 Javascript 中的最大安全整数理解更加深入。
1
ekidona 2022-03-14 08:51:27 +08:00
looks nice! 期待加入单精度和半精度。
|
2
adian 2022-03-14 09:14:29 +08:00
点赞
|
3
misaka19000 2022-03-14 09:27:41 +08:00
赞
|
4
crayygy 2022-03-14 09:58:29 +08:00
这个工具很适合大学生学习的时候使用,非常棒了
|
5
ffgrinder 2022-03-14 16:24:01 +08:00
建议检查一下输入,可以输入空格,然后会打崩整个程序
Application error: a client-side exception has occurred (see the browser console for more information). i.e. 输入“ 1”(半角空格,1 )网页会直接崩溃 |
8
ChaosesIb 2022-03-15 01:25:44 +08:00
这个工具不错,学计算机组成的时候我也找过这样的工具,可惜要么太简陋要么输出有问题。
提几个建议: 1. 允许单击比特位进行翻转,显示出对应浮点数 2. 修复下小数的转换,我测试时到 2^-100 以下就会转换错误了 3. 可以考虑列一个表格,把 NaN 、正负无穷、规格化、非规格化和双机器零这五种情况都列出来,理解起来会清晰很多。NaN 是阶码全 1 ,尾数非 0 ;非规格化数是阶码 0 ,尾数非 0 |
9
shanyue OP |
10
ChaosesIb 2022-03-16 01:18:56 +08:00
@shanyue #9 这个不需要对照就能发现,输入 0.0000000000000000000000000000001 ,再往下加 0 转换出来的结果就不变了。double 即使不考虑非规格化数也可以达到 2^-1022 的精度,换算成十进制是约 308 位,不会这么短就表示不了的。你也可以在 JS 里用 1e-300 试下。
|
11
ChaosesIb 2022-03-16 01:20:43 +08:00
JS 我不清楚有没有强制转换成字
节数组的方法,Python 可以用 struct ,C 可以强转指针。 |
13
leoleoasd 2022-03-16 14:38:46 +08:00
建议增加 NaN
|
14
shanyue OP @ChaosesIb 确实,试了一下在 2^-100 往下有这个精度问题,我来查一查。在 js 中处理这个数,确实还是比较困难的
|
16
V1Eerie 2022-03-27 13:35:39 +08:00 via Android
www.implementsfreedom.tech/ieee754/ieee754.html
可以试试这个,支持 NaN 等预定义词在内存中的显示 |