+++ /dev/null
-#include <stdio.h>
-
-struct sss{
- int i1:4;
- int i2:14;
- int i3:29;
-};
-
-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 = 15.0;
- for (i = 0; i < sizeof (struct sss); i++)
- printf ("%x ", u.a[i]);
- printf ("\n");
- u.sss.i2 = 16383.0;
- for (i = 0; i < sizeof (struct sss); i++)
- printf ("%x ", u.a[i]);
- printf ("\n");
- u.sss.i3 = 536870911.0;
- for (i = 0; i < sizeof (struct sss); i++)
- printf ("%x ", u.a[i]);
- printf ("\n");
- return 0;
-}