java - 在 Java 中接收以字节为单位的浮点值

标签 java floating-point

我通过 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/

相关文章:

numpy - 在 python 中模拟固定精度

c - 如何使用截断将 float 转换为整数?

python - 如何在Python格式函数中应用 "%.02f"?

java - 通用文件上传不起作用

java - 如何在 sonarqube 5.1+ 中添加自定义规则

java - 如何在 Java 中将 PublicKey 转换为 JSON?

java - Perforce 链接文件

math - float 学坏了吗?

java - "Error during linking"表示用 Ocaml 编写的 Java 编译器

c++ - 验证以下条件的输入