1. ホーム
  2. java

[解決済み] ビットワイズ&0x3FFは何をするのですか?

2022-02-15 18:02:44

質問内容

次のコードの行を誰か説明してください。特に、私は何をするのか理解できません。 (short) x & 0x3FF はどうでしょうか?

int num = ... //some number.
return (short) num & 0x3FF;

解決方法は?

これは数値の上位ビットをゼロにし、結果が常に0から1023の間になるようにします。modulo(num, 1024) (numの正の値の場合)と本質的に同じものです。

より広い文脈を見なければ、以下のことを知ることはできません。 なぜ がここにありますが、これはそういうことです。