Сдвиг влево с отрицательным счетчиком сдвига в Javascript
Вещь, которую я заметил в Javascript -
<< -1
Returns 0 when a = even.
Returns -2147483648 when a = odd.
Аналогично, разные значения возвращаются, когда-1
меняется на какой-то другой-ve
номер. Может кто-нибудь объяснить, какие битовые операции происходят под капотом? Или поведение не определено?
Спасибо
РЕДАКТИРОВАТЬ
Также не следует заполнять ноль сдвиг вправо, т.е.-2 >>> 1
вернуть7
?
-2 = 1110. После правого сдвига с нулевым заполнением должно получиться 0111 = 7
ноa = -2; console.log(a >>> 1);
возвращается2147483647