я обнаружил, что вывод всегда имеет отрицательный знак в приведенном ниже коде, хотя я указал, что биты для переменной x
предназначены для целых чисел без знака в операторе инициализации.
почему ~x
создает число с отрицательным знаком, в то время как для знака числа, которое должно быть отражено в первую очередь, не назначен бит?
#include <stdio.h>
void main() {
unsigned int x = 11;
printf("not x=%d", ~x);
}