Предмет: Информатика,
автор: Valery2020vs2021
Как работает побитовая операция ~?Я знаю что она заменяет 1 на 0,а 0 на 1,но почему при вводе 9 выводит -10(если 9 в двоичной 1001, соответственно противоположным будет 0110(110)а это 6)и откуда взялся -?
Ответы
Автор ответа:
1
Ответ:
Объяснение:
Потому что ваша программа (или ваш компьютер) знает, что в числе 8 бит (1 байт) и ваше 9, внутри программы, на самом деле не 1001, а 00001001, соответственно после операции отрицания оно превращается в 11110110.
Кроме того, при использовании побитового отрицания знак результата всегда будет противоположен знаку исходного числа (при работе со знаковыми числами).
Это происходит потому, что число, после побитового отрицания становится записанным в дополнительном коде, где старший разряд указывает знак числа (0 это +, 1 это -)
С учетом этого, полученное число 11110110₂ = -10₁₀
PS Если вы используете режим программиста в калькуляторе, то он вам покажет реальное значение двоичного числа (на скриншоте).
Приложения:

Valery2020vs2021:
Спасибо большое!
Похожие вопросы
Предмет: География,
автор: slavenok08
Предмет: Литература,
автор: rhgiowhg38
Предмет: Математика,
автор: nastya2011od
Предмет: Математика,
автор: dimashmidt4321