Kompletten HEX-String ausgeben; HEX zu float

Der Compiler kann das eh nicht richtig optimieren, da er nicht weiss was wie über die Leitung kommt.

Bei atmel avr Prozessoren und beim PC werden integer mit dem LSB (least significant byte) auf der niedrigsten Adresse gespeichert, Texte mit dem ersten Zeichen, und floats mit der niederwertigsten Mantisse-Byte. Der Exponent (0x41) ist im höchstwertigen Byte auf der Adresse +3.

Auf dem PC liefert dies

	union { int i; float f; unsigned char c[4]; } data;

	data.i = 0x41b40000;
	printf("%08x = %02x %02x %02x %02x = %f\n", 
           data.i, data.c[0], data.c[1], data.c[2], data.c[3], data.f);

jedenfalls diese Ausgabe wie gewünscht:

41b40000 = 00 00 b4 41 = 22.500000