#include <stdio.h>
 
typedef 	union
	{
		unsigned char uc[sizeof(double)];
		float f;
		double d;
	}u_t;
 
void print(u_t u, size_t size, int endianess)
{
	size_t start = 0;
	int increment = 1;
 
	if(endianess)
	{
		start = size - 1;
		increment = -1;
	}
 
	for(size_t index = 0; index < size; index++)
	{
		start += increment;
	}
}
 
 
int main(void) 
{
	u_t u;	
	u.f = 3.15f;
 
	print(u, sizeof(float),0);
	print(u, sizeof(float),1);
 
	u.d = 3.15;
	print(u, sizeof(double),0);
	print(u, sizeof(double),1);
	return 0;
}
 
				I2luY2x1ZGUgPHN0ZGlvLmg+Cgp0eXBlZGVmIAl1bmlvbgoJewoJCXVuc2lnbmVkIGNoYXIgdWNbc2l6ZW9mKGRvdWJsZSldOwoJCWZsb2F0IGY7CgkJZG91YmxlIGQ7Cgl9dV90OwoKdm9pZCBwcmludCh1X3QgdSwgc2l6ZV90IHNpemUsIGludCBlbmRpYW5lc3MpCnsKCXNpemVfdCBzdGFydCA9IDA7CglpbnQgaW5jcmVtZW50ID0gMTsKCQoJaWYoZW5kaWFuZXNzKQoJewoJCXN0YXJ0ID0gc2l6ZSAtIDE7CgkJaW5jcmVtZW50ID0gLTE7Cgl9CgkKCWZvcihzaXplX3QgaW5kZXggPSAwOyBpbmRleCA8IHNpemU7IGluZGV4KyspCgl7CgkJcHJpbnRmKCIlaGh4ICIsIHUudWNbc3RhcnRdKTsKCQlzdGFydCArPSBpbmNyZW1lbnQ7Cgl9CglwcmludGYoIlxuIik7Cn0KCgppbnQgbWFpbih2b2lkKSAKewoJdV90IHU7CQoJdS5mID0gMy4xNWY7CgkKCXByaW50KHUsIHNpemVvZihmbG9hdCksMCk7CglwcmludCh1LCBzaXplb2YoZmxvYXQpLDEpOwoJCgl1LmQgPSAzLjE1OwoJcHJpbnQodSwgc2l6ZW9mKGRvdWJsZSksMCk7CglwcmludCh1LCBzaXplb2YoZG91YmxlKSwxKTsKCXJldHVybiAwOwp9Cg==