2014-08-17 2 views
0

enter image description hereпобитового логического оператор ~

Мой вопрос заключается в том, как он стал -6 когда делать отрицание?

Редактирование: скажем так, если нам нужно представить 6 на дополнении 2, это должно быть 110. Но на второй строке выше есть значение «4294967290» (десятичное), когда оно было преобразовано с помощью cal Here Так как же это может быть -6?

+0

@ OliCharlesworth Да. Мне нужно знать, как ~ 5 стал -6? – Sampath

+1

Потому что это представление двух дополнений -6. –

+0

... как хранятся целочисленные значения ... http://en.wikipedia.org/wiki/Two%27s_complement – spender

ответ

1

Отрицание, которое вы называете это строгая битовая инверсия, но десятичные значения в JavaScript обрабатываются как два дополнения.

Чтобы получить эквивалентное представление как «-5», вам нужно «~ 5 + 1».

В представлении дополнительном коде комплемента, положительные числа просто представлены как сами по себе, так и отрицательные числа представлены в виде дополнения до двух их абсолютной величины

См http://en.wikipedia.org/wiki/Two's_complement для более подробной информации.

Смежные вопросы