Skip to content

[3.09] ビット演算 #37

Description

@akito119

この節で学ぶこと

  • AND・OR・XOR
  • シフト演算
  • ビット集合
  • 部分集合の列挙

解説

ビット演算を使うと、複数のオン・オフ状態を1つの整数で表現できます。1 << i でi番目のビットだけが立った値を作れます。

コード例

int mask = 0;
mask |= 1 << 2;              // 2番目をオン
boolean on = (mask & 1 << 2) != 0;

コードをそのまま写すだけでなく、値や条件を変更して実行結果がどう変わるか確認してください。

確認問題

  1. 「AND・OR・XOR」は何のために使いますか。
  2. 「部分集合の列挙」を使うときに注意すべき点を説明してください。
  3. この節のコードや手順を、自分の言葉で説明してください。

演習

この節で学んだ「ビット演算」を使う小さなプログラムを作ってください。値を最低2通り試し、予想した結果と実際の結果が一致することを確認しましょう。

まとめ

AND・OR・XOR、シフト演算、ビット集合、部分集合の列挙を学びました。分からない点が残った場合は、コードや手順を小さく分けて一つずつ確かめてください。

次のセクション

次は「3.10 よく使う数学処理」へ進みます。

APG4bの対応問題

Metadata

Metadata

Assignees

No one assigned

    Labels

    chapter: 3第3章 Java標準ライブラリと競技プログラミングcontent教材本文の作成

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions