| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > Побитовое отрицание (NOT) |
| Автор: underW 2.4.2010, 12:58 | ||||
вот такой кусочек кода возвращает следующие данные:
И вот для меня абсолютно не понятно, откуда взялось значение -6. Объясните, кто знает, пожалуйста. |
| Автор: jk1 2.4.2010, 13:16 |
| Я полагаю с двоичной инверсией все ясно, 0 заменяются на 1 и наоборот. Теперь о том, почему результат трактуется как -6. Полученное вами двоичное представление 11111111111111111111111111111010 является дополнительным кодом, используемым для представления отрицательных чисел. http://ru.wikipedia.org/wiki/%D0%94%D0%BE%D0%BF%D0%BE%D0%BB%D0%BD%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%B4_(%D0%BF%D1%80%D0%B5%D0%B4%D1%81%D1%82%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D1%87%D0%B8%D1%81%D0%BB%D0%B0) |