2016-03-24 10 views
0

私はHEX FLOAT IEEE 754データを得ました。例 "0x0017A8A6"、C#で10進数 "1550502"に変換する方法を教えてください。C#IEEE754から十進数

私は http://www.h-schmidt.net/FloatConverter/IEEE754.html http://www.binaryconvert.com/convert_signed_int.html?hexadecimal=0017A8A6

感謝を2つのワーキングオンラインコンバータを得たが、10進値を取得カント、唯一の "2.172716E-39"。

+2

小数点と浮動小数点は異なる - どちらをお探しですか? 1550502は、その16進数のBase-10 _integer_表現であり、両方とも異なっています。 –

+0

[C#でfloatのIEEE 754バイナリ表現を取得する方法](http://stackoverflow.com/questions/4249414/how-to-get-the-ieee-754-binary-representation-of- a-float-in-c-sharp) –

答えて

1

あなたは次の行使って、C#で(先頭の0xなし)六角-文字列を解析することができます。そのビットパターンは、IEEE754と解釈されている場合しかし、それは別の意味とその意味を持ってい

int test = Int32.Parse("0017A8A6", NumberStyles.HexNumber); 

を「2.172716E-39」である。

最後の15ビットは仮数(数値と考えることができる)であり、次の8ビットは仮数をスケールするために使用される指数です。最後に最後のビットは符号ビットです。

関連する問題