Предположим, что у вас есть следующий код C.Требуется уточнение по побитовому оператору (~)
unsigned char a = 1;
printf("%d\n", ~a); // prints -2
printf("%d\n", a); // prints 1
Я удивлен видеть -2 печататься в результате преобразования ~ 1:
Противоположностью 0000 0001 1111 1110. То есть ничего, кроме -2.
Что мне здесь не хватает?
Запишите значение 0 и -1 в двоичном формате. –
"1111 1110 -> ничего, кроме -2" Где вы это делаете? Это точно -2 в дополнении. – recursive
try 'print ("% x ")' – pmg