/*----------------------------------------------------------------------
------------------------------------
convert four single chars in a floating-point IEEE 754.b
------------------------------------------------------------------------
----------------------------------*/
float HextoFloat(unsigned char d3, unsigned char d2, unsigned char d1,
unsigned char d0)
{
long hex;
long *ptr;
float wert;
hex = d3<<24 | d2 <<16 | d1<<8 | d0;
ptr = &hex;
wert=*(float*)ptr;
return wert;
}
/*----------------------------------------------------------------------
------------------------------------
convert a floating-point IEEE 754.b into four single chars
------------------------------------------------------------------------
----------------------------------*/
void Float2Hex(float input, unsigned char *d3, unsigned char *d2,
unsigned char *d1, unsigned char *d0)
{
long hex;
float *ptr;
ptr = &input;
hex = *(long*)ptr;
*d0 = hex & 0xFF;
*d1 = (hex >>8) & 0xFF;
*d2 = (hex >>16) & 0xFF;
*d3 = (hex >>24) & 0xFF;
}
Damit kannst du dir deine HEX Werte im Simulator ausrechnen. Und du
musst dich nicht um die ekligen Details kümmern.
MfG
Falk