我正在尝试将表示无符号整数的两个字节转换为 Long。字节在buffer
其中是一个字节数组。
// buffer[0] = 0x7 and buffer[1] = 0x86
long myLong = ( buffer[0] & 0xFF ) << 8 + ( buffer[1] & 0xFF );
Log.i("TAG",String.format("%d", myLong ); // outputs "114688" (0x1c000)
Log.i("TAG",String.format("%d + %d",
(0xFF&buffer[0])<<8, (0xFF&buffer[1]) )); // outputs "1792 + 134"
我将高字节移位,然后将两个字节加在一起。但是添加有一些问题。我希望第一个日志输出给出 1926,但这并没有发生。为什么?