Como posso imprimir o valor máximo de um inteiro não assinado?

Eu quero imprimir o valor máximo do inteiro sem sinal que é de 4 bytes.

#include "stdafx.h"
#include "conio.h"

int _tmain(int argc, _TCHAR* argv[])
{
    unsigned int x = 0xffffffff;
    printf("%d\n",x);
    x=~x;
    printf("%d",x);
    getch();
    return 0;
}

Mas recebo saída como -1 e 0. Como posso imprimir x = 4294967295?

questionAnswers(8)

yourAnswerToTheQuestion