1
私はシフトについてのthisのトピックを読んでいます。なぜシフトを伴う2バイトの変換がインコーレントであるのですか?
byte hi = //...
byte low = //...
私はちょうど
short s = (short)((hi << 8) | low)
は、なぜそれが間違っていることを行うことができない理由:私は2つのバイトを持っている場合と思いましたか?私は8ビット左シフトが最も重要であり、最下位バイトはそのまま残していると思った。そして、ちょうどビットごとにまたはそれら。
をあなたがそのようなのためのByteBufferを使用する必要があります。ByteBuffer.wrap(valBytes).ORDER(ByteOrder.LITTLE_ENDIAN).getShort(); –
@FadySaad私はByteBufferを知っています。私はビットシフト操作を理解することに興味があります。ちょうどそれ:) –