JavaScript: konwersja 52-bitowej liczby całkowitej na 20-bitową i 32-bitową liczbę całkowitą

W innych językach, które mogą reprezentować 64-bitowe liczby całkowite, można to zrobić bardzo łatwo ...

Jak zapisać 64-bitową liczbę całkowitą w dwóch 32-bitowych liczbach całkowitych i przekonwertować ponownie

Jak przechowywać 64-bitową liczbę całkowitą w dwóch 32-bitowych liczbach całkowitych w Ruby

// convert 64-bit n to two 32-bit x and y
x = (n & 0xFFFFFFFF00000000) >> 32
y =  n & 0xFFFFFFFF

Ale JavaScript NIE MOŻE reprezentować 64-bitowych liczb całkowitych. Tomoże reprezentować tylko 52-bitowe liczby całkowite bez problemów.

Oznacza to, że nie jest możliwe przekonwertowanie 64-bitowej liczby całkowitej na dwie 32-bitowe liczby całkowite, ponieważnie jest nawet możliwe posiadanie 64-bitowej liczby całkowitej na pierwszym miejscu.

Ale nadal mamy 52 bity. Moje pytanie brzmi: jak możemy podzielić 52-bitową liczbę całkowitą w JavaScript na dwie 32-bitowe liczby całkowite (20 wysokich bitów i 32 niskie bity)

Czy ktoś może zasugerować kod manipulacji bitami, jak powyżej, aby wykonać 20-bitowy i 32-bitowy podział w JavaScript?

Związane z:W jaki sposób 32-bitowe numery JavaScript wynikające z operacji bitowej są konwertowane z powrotem na liczby 64-bitowe

questionAnswers(3)

yourAnswerToTheQuestion