Я столкнулся с проблемой с битовой арифметикой c. Он побитовый НЕ .
, если A = 5;
, то ~A = ?
Двоичный код 5 равен 101
, обратное значение равно 010
, а затем преобразовано десятичное значение равно 0 * 2^2 + 1 * 2^1 + 0 * 2^0 = 2
Но когда я проверяю в IDE, вывод будет следующим:
System.out.println( ~5 );
Вывод:
-6
Не знаю знаю, почему. Спасибо !!!