#include <stdio.h>
typedef struct UI4{
unsigned value: 17;
} ui4;
int main(void)
{
ui4 u;
long long lu, ls, lb;
unsigned int ui;
int si;
u.value = 0xFFFF;
ui = 0xFFFF;
si = 0xFFFF;
lb = u.value * u.value;
lu = ui * ui;
ls = si * si;
printf("unsigned product:%lld signed product:%lld bitfield:%lld\n", lu, ls, lb);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp0eXBlZGVmIHN0cnVjdCBVSTR7CiAgdW5zaWduZWQgdmFsdWU6IDE3Owp9IHVpNDsKCmludCBtYWluKHZvaWQpCnsKICB1aTQgdTsKICBsb25nIGxvbmcgbHUsIGxzLCBsYjsKICB1bnNpZ25lZCBpbnQgdWk7CiAgaW50IHNpOwoKICB1LnZhbHVlID0gMHhGRkZGOwogIHVpID0gMHhGRkZGOwogIHNpID0gMHhGRkZGOwoKICBsYiA9IHUudmFsdWUgKiB1LnZhbHVlOwogIGx1ID0gdWkgKiB1aTsKICBscyA9IHNpICogc2k7CgogIHByaW50ZigidW5zaWduZWQgcHJvZHVjdDolbGxkIHNpZ25lZCBwcm9kdWN0OiVsbGQgYml0ZmllbGQ6JWxsZFxuIiwgCgkgbHUsIGxzLCBsYik7CgogIHJldHVybiAwOwp9Cg==