C#IEEE754到十进制(C# IEEE754 to decimal)
I got a HEX FLOAT IEEE 754 data, example "0x0017A8A6", how do I get it to decimal "1550502" in C#.
Thanks.
原文:https://stackoverflow.com/questions/36208341
更新时间:2019-12-04 06:13
最满意答案
您可以使用以下行解析C#中的Hex-String(不带前导0x):
int test = Int32.Parse("0017A8A6", NumberStyles.HexNumber);
但是,如果该位模式被解释为IEEE754,则它具有不同的含义,其含义为“2.172716E-39”。
最后15位是尾数(可以认为是数字),接下来的8位是用于缩放尾数的指数。 最后一点是符号位。
You can parse a Hex-String (without the leading 0x) in C# by using the following line:
int test = Int32.Parse("0017A8A6", NumberStyles.HexNumber);
However if that Bit-Pattern is interpreted as IEEE754 it has a different meaning and that meaning is "2.172716E-39".
The last 15 bits are the Mantissa (which can be thought of as