|
Re: Signed and unsigned variables
int main(int argc, char *argv[])
{
unsigned int u;
int i;
u = 0; // i should be -32768.
i = (unsigned int) u;
printf("%d %u\n",i , u);
i = (unsigned int) (u - 32768);
printf("%d %u\n",i , u);
u = 32768; // i should be 0.
i = (unsigned int) u;
printf("%d %u\n",i , u);
i = (unsigned int) (u - 32768);
printf("%d %u\n",i , u);
u=65535; // i should be 32767.
i = (unsigned int) u;
printf("%d %u\n",i , u);
i = (unsigned int) (u - 32768);
printf("%d %u\n",i , u);
return 0;
}
0 0
-32768 0
32768 32768
0 32768
65535 65535
32767 65535
Your test case with output. Did that help?
|