003-005-004

ビット演算:フラグ管理の基礎

中級

問題説明

この問題では: 整数型変数をビットフラグとして使い、ビット演算(OR・AND・シフト)でフラグのセット・クリア・チェックを行い、結果を標準出力に表示するプログラムを作成します。

ビット演算によるフラグ管理

ビット演算を使うと、1つの整数で複数のON/OFFフラグを効率的に管理できます。

基本操作

// ビットをセット(1にする)
flags |= (1 << position);

// ビットをクリア(0にする)
flags &= ~(1 << position);

// ビットをチェック
boolean isSet = (flags & (1 << position)) != 0;

学習ポイント

  • | (OR): ビットをセット
  • & (AND): ビットをチェック、~と組み合わせてクリア
  • << (左シフト): 1を指定位置に移動
  • 実務でもパーミッション管理などで使用される

テストケース例

※ 出力例はプログラミングの国際標準に準拠し英語で表示しています

入力:
5
SET
1
期待される出力:
7
入力:
7
CLEAR
2
期待される出力:
3
入力:
10
CHECK
1
期待される出力:
ON
入力:
3
SET
2
期待される出力:
7
❌ テストに失敗したケースがあります
❌ エラー発生

あなたの解答

現在のモード: 自分のコード
import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// ここにコードを書いてください

sc.close();
}
}
0 B / 5 MB

残り 9 回実行可能