Hallo,
bei dem Format handelt es sich um ein 32 Bit Format. Das Format müsste Single sein.
Beispiel: 4133851F hex entspricht 11,22 als Gleitpunktzahl.
Nach dem Aufbau von Gleitkommazahlen nach IEEE 754 sollte diese JS-Funktion zum Ziel fuehren:
function IEEE754_Hex32ToDez(hexstr)
{
var dez,bin1,bin2,bin3,bin4,bin,sign,expo,mant,nul8="00000000";
bin1=nul8+parseInt(hexstr.substr(0,2),16).toString(2);
bin2=nul8+parseInt(hexstr.substr(2,2),16).toString(2);
bin3=nul8+parseInt(hexstr.substr(4,2),16).toString(2);
bin4=nul8+parseInt(hexstr.substr(6,2),16).toString(2);
bin1=bin1.substr(bin1.length-8,8);
bin2=bin2.substr(bin2.length-8,8);
bin3=bin3.substr(bin3.length-8,8);
bin4=bin4.substr(bin4.length-8,8);
bin=bin1+bin2+bin3+bin4;
sign=parseInt(bin.charAt(0),2); // Vorzeichen
expo=parseInt(bin.substr(1,8),2); // Exponent
mant=parseInt(bin.substr(9,23),2); // Mantisse
dez=(1-2*sign)*Math.pow(2,expo-127)*(1+mant/Math.pow(2,23));
return(dez.toFixed(8));
}
alert(IEEE754_Hex32ToDez("4133851F")); // 11.22000027
MfG, Thomas