Я читал главу о побитовых операторах, я наткнулся на 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.
Почему он не работал?