問1
負数を2の補数で表すとき、8けたの2進数nに対し-nを求める式はどれか、ここで、+は加算を表し、OR,XORは、それぞれビットごとの論理和、排他的論理和を表す。
ア (n OR 10000000) + 00000001 イ (n OR 11111110) + 11111111
ウ (n XR 10000000) + 11111111 エ (n XOR 11111111) + 00000001
答え エ
解説
2の補数表現で負の値を表現するには、ビットごとの値を反転してから、1を加える。ビットごとの値の反転には、オール1とのXORを用いる。したがって、1が8ビット並んだ数値とのXORとなる。その結果に値としての1、つまり00000001を加えたることで-nを表現する。
問2
4ビットの2進数1010の1の補数と2の補数の組み合わせはどれか
1の補数 2の補数
ア 0101 0110
イ 0101 1001
ウ 1010 0110
エ 1010 1001
答え ア
解説
1の補数は、ビットを反転した0101である。
2の補数は、の補数の値に1を加えた0110である。
ウ 1010 0110
エ 1010 1001
答え ア
解説
1の補数は、ビットを反転した0101である。
2の補数は、の補数の値に1を加えた0110である。
問3
最上位をパリティビットとする8ビット符号において、パリティビット以外の下位7ビットを得るためのビット演算はどれか
ア 16進数0FとのANDをとる。 イ 16進数0FとのORをとる。
ウ 16進数7FとのANDをとる。 エ 16進数FFとのXORをとる。
答え ウ
解説
最上位ビットを必ず0にして、他のビットはそのままにするには、最上位が0で、残りが1のビットパターン7FとAND演算をとればよい。
問4
ビット数が等しい任意のビット列aとbに対して、等式a = b と同じことを表すものはどこか。ここで、AND,OR,XORはそれぞれ、ビットごとの論理積、論理和、排他的論理和を表す。
ア a AND b = 00...0 イ a OR b = 11....1 ウ a XOR b = 00....0 エ a XOR b = 11...1
答え ウ
解説
XORであれば、XとYが一致した場合はに0になる。
問5
任意のオペランドに対するプール演算Aの結果とブール演算Bの結果が互いに否定の関係にあるとき、AはBの相補演算であるという。排他的論理和の相補演算はどれか。
ア 等価演算 イ 否定論理和 ウ 論理積 エ 論理和
答え ア
解説
あるオベランドXとYに対する排他的論理和と、その相補演算の真理値表を次に示す。これをみると、排他的論理和の相補演算は、等価演算であることがわかる。
X Y | XOR | 相補演算
0 0 0 1
0 1 1 0
1 0 1 0
1 1 0 1