通信プロトコル(全97問中48問目)
No.48解説へ
IPv4ネットワークで使用されるIPアドレス a とサブネットマスク m からホストアドレスを求める式はどれか。ここで,"~"はビット反転の演算子,"|"はビットごとの論理和の演算子,"&"はビットごとの論理積の演算子を表し,ビット反転の演算子の優先順位は論理和,論理積の演算子よりも高いものとする。
出典:平成27年秋期 問34
- ~a&m
- ~a|m
- a&~m
- a|~m
広告
解説
サブネットマスクはネットワーク部のビットが"1"、ホストアドレス部が"0"になっているビット列です。通常サブネットマスクはネットワークアドレスを取り出すために使用されますが、このビットを反転させると逆にホストアドレス部を取り出すためのビットマスクとなることがわかります。
あるビット列から特定範囲のビットを取り出すには、取り出す位置のビットを"1"としたビットマスクとの論理積(AND)をとる※ので、ホストアドレス部を取り出すためにはサブネットマスクを反転させたビット列とIPアドレスの論理積を求めます。
IPアドレスが「a」、サブネット(m)を反転させたものが「~m」、論理積が「&」なので、正しい式は「a&~m」です。※取り出す位置のビットを"0"としたビットマスクとの論理和(OR)でもOKです。
あるビット列から特定範囲のビットを取り出すには、取り出す位置のビットを"1"としたビットマスクとの論理積(AND)をとる※ので、ホストアドレス部を取り出すためにはサブネットマスクを反転させたビット列とIPアドレスの論理積を求めます。
IPアドレスが「a」、サブネット(m)を反転させたものが「~m」、論理積が「&」なので、正しい式は「a&~m」です。※取り出す位置のビットを"0"としたビットマスクとの論理和(OR)でもOKです。
広告