Побитовое NOT.
Побитовое not заменяет каждый бит операнда на противоположенный:
// 0000 - это ноль alert(~0) // -1 // Но если заменить каждый бит на противоположенный: 1111 - 15. // Почему так? P.S. почему же тогда ~ работает как: -(х+1) ?? |
Заменяет каждый бит операнда включая знаковый
|
Deff,
эм..немного не понял |
alert(~1) // -1 |
Deff,
Вообще-то -2) Так-с, я могу сейчас глупость сказать, но знаковый бит, это самый первый? Все спасибо, приблизительно понял |
Цитата:
Цитата:
|
не то чтобы доказательство, но может прояснит немного картину:
|
Вообще побитовая инверсия равна вычитанию из -1
alert(~2) // -3 alert(~3) // -4 alert(~4) // -5 |
Не, нуприблизительлно я все-таки понял, возьмем 4 бита:
0001 = 1 ~0001 = 1110 = -2, проверим это: 1111 = -1, 1110+ 1111 ==== 1101 = -3, т.к. 0101 = 3, у нас 4 бита, 1 бит - знаковость, значит 1101 = -3 чтд: 1110 = -2 Только у меня последний вопрос, скорее из части информатики: Почему -1, это 1111, а не 1001 (если 4 бита)? |
x-yuri,
Спасибо, но я мало что понял). Что значит b, в конце каждого числа? |
Часовой пояс GMT +3, время: 14:39. |