Я читал главу о побитовых операторах, я наткнулся на 1 оператор-оператор дополнения и решил запустить его на Visual С++.
int main ()
{
unsigned char c = 4, d;
d = ~c;
printf("%d\n", d);
}
Он дает действительный вывод: 251
Затем вместо использования d
в качестве переменной для хранения значения ~c
я решил напрямую распечатать значение ~c
.
int main ()
{
unsigned char c=4;
printf("%d\n", ~c);
}
Он выводит -5
.
Почему он не работал?