学校の課題に取り組んでいるのですが、奇妙な出力が得られます。そのため、手の込んだ方法に進む前に、より基本的な方法のいくつかを確認する必要があると考えました。私が持っている質問はこれです:方法は
public static short get16(byte a, byte b){
return (short)(a*Math.pow(2,8)+b)
}
short
最初の 8 ビットがバイトa
で、最後の 8 ビットがバイトであるa を返しますb
か? 2^8
乗算は左に 8 ビットをシフトすることと同じであるため、なぜそうならないのかわかりません。そして、2 番目のバイトを追加すると、 を掛けることによって達成される 8 つの 0 を補うことができ2^8
ます。これは正しいです?