IEEE 754 双精度浮点数内部表示可视化展示 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
shanyue
V2EX    分享创造

IEEE 754 双精度浮点数内部表示可视化展示

  •  1
     
  •   shanyue 2022 年 3 月 14 日 3428 次点击
    这是一个创建于 1399 天前的主题,其中的信息可能已经有所发展或是发生改变。
    image

    展示 IEEE754 下双精度浮点数的内部表示,对 0.1 + 0.2 !== 0.3 问题或者 Javascript 中的最大安全整数理解更加深入。

    地址: https://devtool.tech/double-type

    16 条回复    2022-03-27 13:35:39 +08:00
    ekidona
        1
    ekidona  
       2022 年 3 月 14 日
    looks nice! 期待加入单精度和半精度。
    adian
        2
    adian  
       2022 年 3 月 14 日
    点赞
    misaka19000
        3
    misaka19000  
       2022 年 3 月 14 日
    crayygy
        4
    crayygy  
       2022 年 3 月 14 日
    这个工具很适合大学生学习的时候使用,非常棒了
    ffgrinder
        5
    ffgrinder  
       2022 年 3 月 14 日
    建议检查一下输入,可以输入空格,然后会打崩整个程序

    Application error: a client-side exception has occurred (see the browser console for more information).

    i.e. 输入“ 1”(半角空格,1 )网页会直接崩溃
    shanyue
        6
    shanyue  
    OP
       2022 年 3 月 14 日
    @ffgrinder 好的,感谢反馈
    shanyue
        7
    shanyue  
    OP
       2022 年 3 月 14 日
    @crayygy
    ChaosesIb
        8
    ChaosesIb  
       2022 年 3 月 15 日
    这个工具不错,学计算机组成的时候我也找过这样的工具,可惜要么太简陋要么输出有问题。
    提几个建议:
    1. 允许单击比特位进行翻转,显示出对应浮点数
    2. 修复下小数的转换,我测试时到 2^-100 以下就会转换错误了
    3. 可以考虑列一个表格,把 NaN 、正负无穷、规格化、非规格化和双机器零这五种情况都列出来,理解起来会清晰很多。NaN 是阶码全 1 ,尾数非 0 ;非规格化数是阶码 0 ,尾数非 0
    shanyue
        9
    shanyue  
    OP
       2022 年 3 月 16 日
    @ChaosesIb 感谢建议,

    1. 好,根据比特位换成浮点数
    2. 极小数 2^-100 转换错误,是在哪里进行的对照,我也去参考下对应网站。
    3. 好
    ChaosesIb
        10
    ChaosesIb  
       2022 年 3 月 16 日
    @shanyue #9 这个不需要对照就能发现,输入 0.0000000000000000000000000000001 ,再往下加 0 转换出来的结果就不变了。double 即使不考虑非规格化数也可以达到 2^-1022 的精度,换算成十进制是约 308 位,不会这么短就表示不了的。你也可以在 JS 里用 1e-300 试下。
    ChaosesIb
        11
    ChaosesIb  
       2022 年 3 月 16 日
    JS 我不清楚有没有强制转换成字
    节数组的方法,Python 可以用 struct ,C 可以强转指针。
    ChaosesIb
        12
    ChaosesIb  
       2022 年 3 月 16 日
    @ChaosesIb #11 V2EX 的审查真是诡异,断开字
    节才能发出来.
    leoleoasd
        13
    leoleoasd  
       2022 年 3 月 16 日
    建议增加 NaN
    shanyue
        14
    shanyue  
    OP
       2022 年 3 月 16 日
    @ChaosesIb 确实,试了一下在 2^-100 往下有这个精度问题,我来查一查。在 js 中处理这个数,确实还是比较困难的
    shanyue
        15
    shanyue  
    OP
       2022 年 3 月 16 日
    @leoleoasd 好的
    V1Eerie
        16
    V1Eerie  
       2022 年 3 月 27 日 via Android
    www.implementsfreedom.tech/ieee754/ieee754.html
    可以试试这个,支持 NaN 等预定义词在内存中的显示
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2554 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 02:21 PVG 10:21 LAX 18:21 JFK 21:21
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86