I tried the following program. Hex value works allright, but the decimal value gives me some negative numbers. What do do. Please any help. Thanks in advance.

Code:
#include <stdio.h>
void main(void)
{
	unsigned x, y;
	x=0x00f0;
	y=~x;
	printf("Hex=%x\n", y);
	printf("Decimal=%d", y);
}