ビット演算によるマスク処理とは?
ビット演算によるマスク処理とは、AND・OR・NOTを組み合わせて特定のビットだけを取り出す・立てる・落とす操作。応用情報では、フラグ管理、サブネットマスクによるネットワークアドレスの算出、アクセス権の判定などの計算で問われる。
高度試験・午前I(全区分共通)の過去問では6回出題されています(2019年度〜2023年度)。
びっとえんざんによるますくしょり
ビット演算によるマスク処理の意味
AND・OR・NOTを組み合わせて特定のビットだけを取り出す・立てる・落とす操作。応用情報では、フラグ管理、サブネットマスクによるネットワークアドレスの算出、アクセス権の判定などの計算で問われる。
ビット演算によるマスク処理の具体例
状態をビットで持つとき、ANDで該当ビットが1かを検査し、ORで権限を追加し、ANDとNOTの組合せ(x AND NOT m)で剥奪する。IPアドレスとサブネットマスクのANDがネットワークアドレスになる。
ビット演算によるマスク処理は試験でどう引っ掛けられる?
「立てる」のはORで1を重ねる操作、「落とす」のはANDで0を掛ける操作。逆に覚えると結果が全く変わる。またマスクは論理演算であり、シフト演算のように桁位置を移動させるわけではない。
ビット演算によるマスク処理と関連する用語
ビット演算によるマスク処理が出た過去問
0以上255以下の整数nに対して、 next(n) = n+1 (0≦n<255)、0 (n=255) と定義する。next(n)と等しい式はどれか。ここで、x…
正解:(n+1) AND 255
要点:全ビット1の値とのANDは、下位桁を残す剰余マスクになる
255は2進数で8ビットが全て1(11111111)である。n+1を255とビットANDすると、下位8ビットだけが残り、それより上位の桁は切り捨てられる。n<255のときn+1は255以下なので値はそのまま、n=255のときn+1=256(100000000)は下位8ビットが全て0なので結果は0となり、定義どおりの動作になる。ビットマスクによる剰余(mod 256)の典型パターンである。
出典:令和1年度 春期 高度共通_午前I試験 am1 問1(IPA)IPv4ネットワークにおいて、あるホストが属するサブネットのブロードキャストアドレスを、そのホストのIPアドレスとサブネットマスクから計算する方法として、適切な…
正解:サブネットマスクの各ビットを反転したものとIPアドレスとの論理和を取る。
要点:ブロードキャストはマスク反転とIPの論理和で求める
ブロードキャストアドレスは、ネットワーク部はそのままでホスト部のビットをすべて1にしたアドレスである。サブネットマスクを反転するとホスト部だけが1のビット列になるので、これとIPアドレスの論理和を取ればホスト部が全て1、ネットワーク部は元のままとなり、目的のアドレスが得られる。
出典:令和3年度 秋期 高度共通_午前I試験 am1 問11(IPA)IPv4ネットワークで使用されるIPアドレスaとサブネットマスクmからホストアドレスを求める式はどれか。ここで、“~”はビット反転の演算子、“|”はビットごとの…
正解:a & ~m
要点:ホストアドレスは a & ~m、ネットワークアドレスは a & m
サブネットマスクmは、ネットワーク部のビットが1、ホスト部のビットが0になっている。したがってホスト部だけを取り出すには、マスクを反転してホスト部だけが1のパターン(~m)を作り、アドレスaとビットごとの論理積をとればよい。すなわちa & ~mでホストアドレスが得られる(a & mならネットワークアドレスになる)。
出典:令和3年度 春期 高度共通_午前I試験 am1 問10(IPA)IPアドレスの自動設定をするためにDHCPサーバが設置されたLAN環境の説明のうち、適切なものはどれか。
正解:DHCPによる自動設定を行うPCに、DHCPサーバのアドレスを設定しておく必要はない。
要点:DHCPはブロードキャストで探すのでサーバのアドレス設定は不要
DHCPクライアントは、IPアドレスを持たない段階でブロードキャストによりDHCPサーバを探索するため、あらかじめサーバのアドレスを設定しておく必要はない。サーバからはIPアドレスのほか、サブネットマスクやデフォルトゲートウェイ、DNSサーバのアドレスなどもまとめて配布できる。
出典:令和4年度 秋期 高度共通_午前I試験 am1 問11(IPA)サブネットマスクが255.255.252.0のとき、IPアドレス172.30.123.45のホストが属するサブネットワークのアドレスはどれか。
正解:172.30.120.0
要点:/22ではIPとマスクの論理積で第3オクテットが120になる
サブネットマスク255.255.252.0はプレフィックス長22ビットで、第3オクテットの上位6ビットまでがネットワーク部となる。123(01111011)と252(11111100)の論理積は120(01111000)なので、サブネットワークアドレスは172.30.120.0である。
出典:令和5年度 秋期 高度共通_午前I試験 am1 問10(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。