我有两个字节:
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]
视为负/正位?