私は(それに鉱山を統合する前に慎重に)FindBugsのを使用して、サードパーティのソースコードをスキャンし、次の警告が見出された:Findbugs警告:32分の1の整数シフト - それはどういう意味ですか?
long a = b << 32 | c
バグ:32パターンIDによって整数シフト: ICAST_BAD_SHIFT_AMOUNTを、タイプ:BSHIFT、 カテゴリ:正確
コード範囲 0..31外一定量整数シフトを行います。これの効果は、整数値 の下位5ビットを使用してシフトする量を決定することです。この はおそらく期待されていませんでしたが、 少なくとも混乱しています。
誰でも上記の意味を正確に説明できますか?
ありがとうございます! (私はJavaプログラミングではかなり初心者です)
)「int >> 32(0x100000)== int >> 0(0x00000) '? –
あなたが使っている奇妙な擬似構文ですが、そうです。 – UndefinedBehavior