基本情報暗記無料で始める

ビット演算によるマスク処理とは?びっとえんざんによるますくしょり

ビット演算によるマスク処理とは、AND・OR・NOTなどの論理演算を、目的のビットだけを狙って組み合わせ、特定のビットを取り出す・1にする・0にする操作。取り出したいビットだけを1にした値(マスク)を用意し、ANDを取れば他のビットが0に落ちて必要な部分だけが残る。基本情報では、フラグ(あり/なしを表す印)の管理、サブネットマスク(IPアドレスのうちネットワークを表す部分の範囲を示す値)によるネットワークアドレスの算出、アクセス権の判定として問われる。

最終更新:2026-10-09

試験情報

基本情報技術者試験の過去問では4回出題されています(2016年度〜2019年度)。

基本情報技術者試験の頻出用語/テクノロジ系

別名:マスク

この語が出る過去問を解く →

背景

状態が「あり/なし」の2値で数十個ある場合、1項目ずつ変数を用意すると場所も手間も増える。1つの整数の各ビットに1項目ずつ割り当てれば、まとめて保存でき比較も1命令で済む。しかしこの形にすると、特定の1項目だけを読み書きする手段が要る。それを論理演算だけで実現するのがマスク処理である。ネットワーク分野でIPアドレスをネットワーク部とホスト部に分ける処理も、まったく同じ仕組みで動いている。

具体例

状態をビットで持つとき、ANDで該当ビットが1かどうかを検査し、ORでその権限を追加し、ANDとNOTの組合せ(x AND NOT m)で剥奪する。IPアドレス192.168.10.35とサブネットマスク255.255.255.0のANDを取る場合、255は2進数で8ビットすべてが1、0はすべてが0なので、先頭3組の192.168.10はそのまま残り、最後の35は0に落ちる。こうしてネットワークアドレス192.168.10.0が得られる。

試験での引っ掛け

「立てる」のは1を重ねるORの操作、「落とす」のは0を掛けるANDの操作で、逆に覚えると結果がまったく変わる。またマスクは論理演算であり、シフト演算のように桁の位置を動かすわけではない。取り出したビットを右端に寄せたい場合は、AND後にシフトを別途行う必要がある。

関連用語

出た過去問

解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。

この語が出る過去問を解く →

試験での特徴
  • 試験では4回出題(2016年度〜2019年度)
  • 分野:テクノロジ系
  • 「立てる」のは1を重ねるORの操作、「落とす」のは0を掛けるANDの操作で、逆に覚えると結果がまったく変わる。