我正在为学校做作业,但我得到了奇怪的输出。所以,我想我应该开始检查我的一些更基本的方法,然后再使用更高级的方法。我的问题是:方法
public static short get16(byte a, byte b){
return (short)(a*Math.pow(2,8)+b)
}
返回 ashort
其中前 8 位是字节a
,后 8 位是字节b
?我不明白为什么它不会,因为乘以2^8
与左移 8 位相同。并且添加第二个字节将弥补乘以 所获得的 8 个 0 2^8
。它是否正确?