如何将 IEEE-11073 16 位 SFLOAT 转换为 Java 中的简单浮点数?

2022-01-09 00:00:00 floating-point types java

标题不言自明:如何将 IEEE-11073 16 位 SFLOAT 转换为 Java 中的简单浮点数?

The title speaks for itself: How to convert IEEE-11073 16-bit SFLOAT to simple float in Java?

推荐答案

你可以使用位移位.提取符号、指数和尾数并将它们移位,使它们为浮点格式.您可能需要更正 Infinity 和 NaN.

You can use bit shifting. extract the sign, exponent and mantissa and shift these so they are in float format. You may need to correct for Infinity and NaN.

正如@PretiP 的回答所指出的那样,指数以 10 为底,因此您需要乘以或除以 10 的幂才能得到最终值.

As @PretiP's answer points out the exponent is base 10 so you would need to multiply or divide by a power of 10 to get the final value.

相关文章