int という型は sizeof(int) * 8 bit 長で評価するし
printf の %d は 渡された値を符号付と解釈して表示してね という指示だし

int a = -1;
printf("%u\n", a); /* 渡された値を符号無しで解釈表示してね */
printf("%d\n", a); /* 渡された値を符号付で解釈表示してね */