我有一个高字节和一个低字节,我想将它们转换为短整型。
我已经实现了以下代码,似乎能够正常工作,但我对其中的原理还有一些困惑。两个变量 high_byte
和 low_byte
都被强制转换为 byte
类型。
short word = (short)(high_byte << 8 | low_byte);
在这段代码中,high_byte << 8
应该为零吗?然后我尝试了这个:
(byte)1 << 8
结果是256
,我原以为应该是0
。我想我显然错过了什么。
请问有人能解释一下吗?