IPv4ネットワークで使用されるIPアドレスaとサブネットマスクmからホストアドレスを求める式はどれか。
ここで,“~”はビット反転の演算子,“|”はビットごとの論理和の演算子,“&”はビットごとの論理積の演算子を表し,ビット反転の演算子の優先順位は論理和,論理積の演算子よりも高いものとする。
正答3
解説
正解は3です。
IPv4アドレスは、ネットワーク部とホスト部に分かれます。
サブネットマスクmは、ネットワーク部のビットが1、ホスト部のビットが0になっています。
ホストアドレスを取り出すには、ホスト部だけが1になったマスクとの論理積を取ります。
【選択肢別解説】
1:× ~a&mは、IPアドレスを反転したもののネットワーク部を取り出す式です。
ホスト部はすべて0になり、ホストアドレスは得られません。
2:× ~a|mは、ネットワーク部がすべて1、ホスト部はIPアドレスを反転した値になります。
ホストアドレスとは異なる値です。
3:○ ~mは、ホスト部のビットだけが1になったマスクです。
aと~mの論理積を取ると、ネットワーク部は0になり、ホスト部のビットだけが残ります。
これがホストアドレスです。
4:× a|~mは、ネットワーク部はそのままで、ホスト部をすべて1にする式です。
これはそのネットワークのブロードキャストアドレスを求める式です。
【ポイント】
a&mでネットワークアドレス、a&~mでホストアドレス、a|~mでブロードキャストアドレスが求まります。
論理積は「取り出す」、論理和は「1にする」働きと覚えましょう。