#include <stdio.h>
union test_u {
float value;
struct {
unsigned char d1;
unsigned char d2;
unsigned char d3;
unsigned char d4;
} data;
};
int main (int argc, char *argv[])
{
union test_u test;
test.value = 1.1;
printf ("test = %2X\n", test.
data.
d1); printf ("test = %2X\n", test.
data.
d2); printf ("test = %2X\n", test.
data.
d3); printf ("test = %2X\n", test.
data.
d4);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+IAoKdW5pb24gdGVzdF91IHsKCWZsb2F0IHZhbHVlOwoJc3RydWN0IHsKCQl1bnNpZ25lZCBjaGFyIGQxOwoJCXVuc2lnbmVkIGNoYXIgZDI7CgkJdW5zaWduZWQgY2hhciBkMzsKCQl1bnNpZ25lZCBjaGFyIGQ0OwoJfSBkYXRhOwp9OwoKaW50IG1haW4gKGludCBhcmdjLCBjaGFyICphcmd2W10pCnsKCXVuaW9uIHRlc3RfdSB0ZXN0OwoJdGVzdC52YWx1ZSA9IDEuMTsKCXByaW50ZiAoInRlc3QgPSAlMlhcbiIsIHRlc3QuZGF0YS5kMSk7CglwcmludGYgKCJ0ZXN0ID0gJTJYXG4iLCB0ZXN0LmRhdGEuZDIpOwoJcHJpbnRmICgidGVzdCA9ICUyWFxuIiwgdGVzdC5kYXRhLmQzKTsKCXByaW50ZiAoInRlc3QgPSAlMlhcbiIsIHRlc3QuZGF0YS5kNCk7CgoJZ2V0Y2hhciAoKTsKCglyZXR1cm4gMDsKfQ==