私は Findbugs を使用してサードパーティのソース コードをスキャンしていました (私のものに統合する前に注意する必要があります)。次の警告が見つかりました。
long a = b << 32 | c
バグ: 32 の整数シフト パターン ID: ICAST_BAD_SHIFT_AMOUNT、タイプ: BSHIFT、カテゴリ: CORRECTNESS
コードは、0..31 の範囲外で一定量だけ整数シフトを実行します。この効果は、整数値の下位 5 ビットを使用して、どれだけシフトするかを決定することです。これはおそらく予期されたものではなく、少なくとも混乱を招きます。
上記の意味を正確に説明できる人はいますか?
ありがとう!(私はJavaプログラミングの初心者です)