【发布时间】:2013-08-15 16:05:05
【问题描述】:
我得到了两个字节:
byte[0] 是 0000 0000
byte[1] 是 1000 0000
我想将它们放在一起并为它们制作一个浮点值。所以结果应该是十进制的 128 和二进制的 0000 0000 1000 0000。不是负数,因为前导零。
到目前为止,我的解决方案是这种方法:
float f = (bytes[0] << 8 | bytes[1]);
但这将导致值 f 的值为负 128。这是因为我猜是2s补码。因此byte[1] 将被解释为否定的。我如何才能将byte[0] 的前导位视为负/正位?
【问题讨论】:
标签: java binary byte bytearray twos-complement