Как я понимаю, JS обрабатывает числа как 32 бита при выполнении операций с бит-сдвигом, хотя поддерживает 64-битные номера.Как левый сдвиг чисел больше 32 бит?
Как я могу реализовать функцию leftShift
, которая работает на 64-битных номерах? то есть он не перевернется в негативы для чего-то вроде 192 << 24
(должно быть 3221225472
, а не -1073741824
).
номер Javascript является 64-бит с плавающей точкой, они имеют только 53 бит мантиссы. Таким образом, невозможно получить 64-битные целые числа. – Barmar
@ Бармар. Все в порядке. Мне просто нужно 32 бита без знака. 53 есть много: D – mpen
Используйте '192 <<24> >> 0' как показано в вопросе, с которым я связан. – Barmar