If "The integer promotions preserve value including sign."

#include <stdio.h>

int main (void) {
unsigned short int a;
unsigned long long int b, c;
a = -1;
b = (a*a);
c = ((unsigned int)a*(unsigned int)a);
printf ("Why %llx != %llx ?\n", b, c);
return 0;
}


Reply via email to