首页 > 解决方案 > NaN 有效载荷存储 64 位整数

问题描述

我最近发现了关于 nan boxing 的话题,我也在尝试构建一种动态类型的编程语言,所以 nan boxing 似乎是代表类型的选择,但我仍然对此感到很困惑,其中之一是我将如何存储像 64 位整数这样的数据,我认为可行的一种方法是堆分配它们,因为它减小了大小,因为现在它指向内存而不是整个整数,但这不会很慢而且效率低下吗?这个问题的一部分来自我的其他困惑:如果javascript使用IEEE 754双精度,javascript如何表示高达Number.MAX_SAFE_INTEGER的数字(那么它不会限制为32位整数吗?),对不起,如果我听起来很愚蠢,我是对这种按位的东西只是新手。

标签: javascriptnanboxing

解决方案


我想我明白了,我真的很愚蠢,因为 nans 无论如何都是双精度数,而双精度数是 64 位,我可以像 javascript 那样将所有数字表示为双精度数,并尽可能将其存储为 32 位整数,因为整数可能会更快,如果可能的话,我希望得到进一步的反馈。


推荐阅读