W JavaScript wartość NaN może być reprezentowana wewnętrznie przez szeroki zakres 64-bitowych dubletów. W szczególności każde podwójne z następującą reprezentacją bitową:
x111 1111 1111 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
Jest interpretowany jako NaN. Moje pytanie brzmi: załóżmy, że rzutuję dwa 32-bitowe odcienie na numer JS za pomocą ArrayBuffers, przekazuję je, a następnie rzutuję z powrotem na dwa 32-bitowe zmiany. Czy odzyskane bity będą takie same jak oryginalne, czy też silniki JS mogą dowolnie zmieniać bity NaN? Innymi słowy, czy numery JS mogą być używane do przechowywania stratnych 64-bitów?