基本情報技術者試験 |
2001年度 = 平成13年度・秋期 |
午前 |
問10 |
4ビットの2進数で表現された数が二つある。これらのビットごとの論理積は0010であり、ビットごとの論理和は1011となる。二つの数の和はどれか。
ア 1100
| イ 1101
| ウ 1110
| エ 1111
|
イ
二つの数のビットごとの論理積が0010で、ビットごとの論理和が1011であることから、以下に示すように、もとの数の中央2ビットが確定します。
両方とも1 両方とも0
↓ ↓
┌─┬─┬─┬─┐ ┌─┬─┬─┬─┐
│ │ │1│ │ │ │0│ │ │
└─┴─┴─┴─┘ └─┴─┴─┴─┘
┌─┬─┬─┬─┐ ┌─┬─┬─┬─┐
AND │ │ │1│ │ OR │ │0│ │ │
└─┴─┴─┴─┘ └─┴─┴─┴─┘
───────────── ────────────
┌─┬─┬─┬─┐ ┌─┬─┬─┬─┐
│0│0│1│0│ │1│0│1│1│
└─┴─┴─┴─┘ └─┴─┴─┴─┘
また、最下位ビットと最上位ビットは、それらの論理積が0で論理和が1ですから、いずれも一方が1で他方が0です。
したがって、二つの値は、以下の四つの組み合わせのいずれかとなりますが、どの場合も、加算した和の値は1101となります。
┌─┬─┬─┬─┐ ┌─┬─┬─┬─┐
│0│0│1│0│ │0│0│1│1│
└─┴─┴─┴─┘ └─┴─┴─┴─┘
┌─┬─┬─┬─┐ ┌─┬─┬─┬─┐
+ │1│0│1│1│ + │1│0│1│0│
└─┴─┴─┴─┘ └─┴─┴─┴─┘
─────────── ───────────
┌─┬─┬─┬─┐ ┌─┬─┬─┬─┐
│1│1│0│1│ │1│1│0│1│
└─┴─┴─┴─┘ └─┴─┴─┴─┘
┌─┬─┬─┬─┐ ┌─┬─┬─┬─┐
│1│0│1│0│ │1│0│1│1│
└─┴─┴─┴─┘ └─┴─┴─┴─┘
┌─┬─┬─┬─┐ ┌─┬─┬─┬─┐
+ │0│0│1│1│ + │0│0│1│0│
└─┴─┴─┴─┘ └─┴─┴─┴─┘
─────────── ───────────
┌─┬─┬─┬─┐ ┌─┬─┬─┬─┐
│1│1│0│1│ │1│1│0│1│
└─┴─┴─┴─┘ └─┴─┴─┴─┘