【发布时间】:2011-12-07 04:35:54
【问题描述】:
我正在与某个设备通信,该设备将数据作为无符号字节发送给我。我需要将这些字节转换为 Java 中的浮点数。有什么办法吗?
非常感谢。
【问题讨论】:
-
这里的每个答案都有严重的缺陷,恕我直言,因为每个人都在猜测输入是一种或另一种格式。所知道的只是它是“无符号字节”。 Datos,如果您想要一个好的答案,您将不得不更明确地了解输入格式。例如,我可能是个白痴,并假设您的意思是输入是(数学上)0-255 范围内的整数。但是那你为什么要把它转换成浮点数呢?等等……可能的猜测是无穷无尽的。最好是一些例子:显示输入字节和表示的数值。
-
更令人不安的是,一个明显错误的答案“浮点数为 8 字节”“移动 4 的倍数而不是 8 位”已被投票为正确答案。 @Ed Staub,您可以提出极端案例并强迫自己误解几乎任何事情,但是当普通人遇到不完全详细的问题时,他们会假设最普遍/最简单的解决方案。
-
投票结束,因为这个问题具有误导性,而答案更是如此。
-
@LastCoder - 我将其作为一个极端案例进行展示 - 我认为“我可能是个白痴”让任何人都明白这一点......关键是数据可能来自任何任何形式的硬件——通常没有像 IEEE-754 这样的远程硬件。他希望它在内部表示为浮点数这一事实并没有说明线路上的格式。
标签: java floating-point byte unsigned