Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 存储64位整数的NaN有效负载_Javascript_Nan_Boxing - Fatal编程技术网

Javascript 存储64位整数的NaN有效负载

Javascript 存储64位整数的NaN有效负载,javascript,nan,boxing,Javascript,Nan,Boxing,我最近发现了关于nan-boxing的主题,我也在尝试构建一种动态类型编程语言,因此nan-boxing似乎是表示类型的选择,但我仍然对此感到非常困惑,其中之一是如何将数据存储为64位整数,我认为可行的一种方法是堆分配它们,当它从现在开始减小大小时,它指向的是内存而不是整个整数,但这不是很慢而且效率很低吗?这个问题的一部分来自于我的另一个困惑:如果javascript使用IEEE 754双精度(那么它不会被限制为32位整数吗?),javascript怎么能表示高达Number.MAX\u SAF

我最近发现了关于nan-boxing的主题,我也在尝试构建一种动态类型编程语言,因此nan-boxing似乎是表示类型的选择,但我仍然对此感到非常困惑,其中之一是如何将数据存储为64位整数,我认为可行的一种方法是堆分配它们,当它从现在开始减小大小时,它指向的是内存而不是整个整数,但这不是很慢而且效率很低吗?这个问题的一部分来自于我的另一个困惑:如果javascript使用IEEE 754双精度(那么它不会被限制为32位整数吗?),javascript怎么能表示高达Number.MAX\u SAFE\u INTEGER的数字呢?对不起,如果我听起来很愚蠢,我只是对这种按位的东西不熟悉。

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

为什么要使用javascript标记?你是在用javascript编写编程语言吗?很好的解释:@nada不,但我认为关于Number.MAX_SAFE_INTEGER的问题值得使用js标记,但也许不是