我通过 USB 接收浮点值(以字节为单位)。如何将该值作为 float 输入。请记住,它实际上是一个 float ,我只是通过 USB 一次以字节形式接收它。 MSB优先。
USB_ByteArray[3] = 42
USB_ByteArray[2] = 99
USB_ByteArray[1] = 99
USB_ByteArray[0] = 9A
如何将上述字节值表示为它们所表示的 float ?
76.8 = 0x4299999a(IEEE 浮点)
最佳答案
看看Float.intBitsToFloat()
。假设使用的编码是 IEEE 754,您可以从字节值创建一个 int 并可以使用该方法将其转换为 float。
使用 jshell 的示例:
axel@xiaolong ~ % jshell
| Welcome to JShell -- Version 14
| For an introduction type: /help intro
jshell> Float.intBitsToFloat(0x4299999a)
$1 ==> 76.8
关于java - 在 Java 中接收以字节为单位的浮点值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61127783/