在JavaScript中,NaN值可由内部广泛的64位double表示。具体来说,具有以下按位表示形式的任何double:
x111 1111 1111 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
被解释为NaN。我的问题是:假设我使用ArrayBuffers将两个32位uint强制转换为一个JS Number,将其传递,然后将其强制转换为两个32位uint。恢复的位是否将与原始位相同,还是允许JS引擎随意更改NaN的位?换句话说,JS号码可以用来无损地存储64位吗?