blob: c4de6e2dfbbc58cdf1a1d71c32ddc0153b3dfb86 [file] [log] [blame]
#include <stdio.h>
struct sss{
int i1:16;
int i2:30;
int i3:15;
};
static union u{
struct sss sss;
unsigned char a[sizeof (struct sss)];
} u;
int main (void) {
int i;
for (i = 0; i < sizeof (struct sss); i++)
u.a[i] = 0;
u.sss.i1 = 65535.0;
for (i = 0; i < sizeof (struct sss); i++)
printf ("%x ", u.a[i]);
printf ("\n");
u.sss.i2 = 1073741823.0;
for (i = 0; i < sizeof (struct sss); i++)
printf ("%x ", u.a[i]);
printf ("\n");
u.sss.i3 = 32767.0;
for (i = 0; i < sizeof (struct sss); i++)
printf ("%x ", u.a[i]);
printf ("\n");
return 0;
}