Побитовый оператор ~ (не)
Добрый день. Я имею число 9 (1001) - в двоичной системе. И когда провожу побитовую операцию ~ (НЕ), то получается число (0110) - в двоичной системе, в десятичной равно 6, как я понимаю. Но источник http://learn.javascript.ru/ считает, что:
9 (по осн. 10)
= 00000000000000000000000000001001 (по осн. 2)
--------------------------------
~9 (по осн. 10)
= 11111111111111111111111111110110 (по осн. 2)
= -10 (по осн. 10)
Прошу, подскажите, где моя ошибка.