What I know about unsigned numerics (unsigned short, int and longs), that It contains positive numbers only, but the following simple program successfully assigned a negativ
%i is the format specifier for a signed integer; you need to use %u to print an unsigned integer.
%i
%u