基本情報技術者過去問題 平成25年秋期 午後問1

問題文解答用紙を別タブで開けます(印刷可能)。

問1 ハードウェア

論理演算と加算器に関する次の記述を読んで,設問1〜4に答えよ。

 真を1,偽を0として,主要な論理演算の真理値表を,表1に示す。

設問1

AND,OR,XOR,NOT の各論理演算を行う論理回路を用いて,NAND と NOR の論理演算を行う論理回路を作成した。次の記述中の に入れる正しい答えを,解答群の中から選べ。ここで,X,Yは1ビットの入力,Z は1ビットの出力とする。
  • NAND の論理回路はaである。
  • NOR の論理回路はbである。
a,b に関する解答群
  • pm01_2a.gif/image-size:159×45
  • pm01_2i.gif/image-size:159×46
  • pm01_2u.gif/image-size:159×46
  • pm01_2e.gif/image-size:160×46

解答選択欄

  • a:
  • b:

解答

  • a=
  • b=

解説

選択肢のそれぞれの論理回路に X,Y=(0,0),(1,0),(0,1),(1,1) の4通りの組合せを入力した結果は以下のようになります。
pm01a.gif/image-size:361×477
表1「論理演算の真理値表」と比較すると、NAND回路が「イ」、NOR回路が「ア」とわかります。

a=イ,b=ア

設問2

各1ビットの入力X,Yを加算して,その結果を各1ビットの Z と桁上がり C に出力する"半加算器"の真理値表を表2に,論理回路を図1に示す。図1中の に入れる正しい答えを,解答群の中から選べ。
pm01_3.gif/image-size:211×404
解答群
  • AND
  • NAND
  • NOR
  • OR
  • XOR

解答選択欄

  •  

解答

  •  

解説

半加算器に入力されるX,Yの値と出力Zの関係は X XOR Y の真理値表と同じになるため の回路はXORが適切です。
pm01b.gif/image-size:483×314

∴オ:XOR

設問3

各1ビットの入力X,Yと,下位桁からの1ビットの桁上がり Cin を加算して,その結果を各1ビットの Z と桁上がりの C に出力する"全加算器"の真理値表を表3に,論理回路を図2に示す。図2中の に入れる正しい答えを,解答群の中から選べ。
pm01_4.gif/image-size:386×496
解答群
  • AND
  • NAND
  • NOR
  • OR

解答選択欄

  •  

解答

  •  

解説

最後のCに1が出力される(繰り上がりとなる)のは、X,Y,Cinの値のうち、2つ以上が1の場合です。
pm01c.gif/image-size:304×274

まず1番目の半加算器の出力を考えてみます。

CはXとYのAND演算よって決定されるので1となるのはX,Yの双方が1の場合です。(1が2つなので繰り上がり決定)…@
ZはXとYのXOR演算よって決定されるので1となるのはX,Yの片方が1で、もう片方が0の場合です。(1が1つ)
pm01d.gif/image-size:418×173

2番目の加算器では、1番目の半加算器の出力Zが入力Xになっていて、下位けたからの繰り上がりCinとの演算を行っています。
入力Xが1(XとYのうちどちらかが1)、かつ、Cinが1の場合は繰り上がりが発生するのでCには1が出力されます。…A

@、Aのどちらか、または両方が1の場合には繰り上がりが発生するので最終的なCは1になります。

 では2つの半加算器のCを演算しますが、「2つの入力のうち、どちらか、または両方が1の場合に1を出力する」ので OR回路 が適切です。
pm01e.gif/image-size:418×185
∴エ:OR

設問4

2の補数表現による4ビットの符号付き2進整数を加算する加算器を図3に示す。加算器は,2進整数 A4A3A2A1 と B4B3B2B1 を加算して,結果 S4S3S2S1 を出力する。添字は桁の位置を示しており,値が大きいほど上位の桁を表す。
pm01_5.gif/image-size:538×173
最上位ビットの加算において,A4,B4,C3 の値が表3の全加算器の真理値表のそれぞれ X,Y,Cin の値のβ部分の組合せになるとき,桁あふれが生じる。これを検出するための論理回路を図4に,S1〜S4 が全て0となる場合を検出する論理回路を図5に示す。図4中と図5中の に入れる正しい答えを,解答群の中から選べ。
pm01_6.gif/image-size:295×261
c,d に関する解答群
  • AND
  • NAND
  • NOR
  • OR
  • XOR

解答選択欄

  • c:
  • d:

解答

  • c=
  • d=

解説

cについて〕
2の補数を使ったビット列の加算には次のような特徴があります。
  • 最上位ビットからの繰り上がりを無視する
  • 加算した結果も2の補数で表現されている
  • ビット列で表現できる範囲を超える場合オーバフローとなり、正しく計算されない
具体的に桁あふれが発生していると判断できるのは
  1. 正の数(最上位ビットが0)同士の加算の結果が負の数(最上位ビットが1)になる
  2. 負の数(最上位ビットが1)同士の加算の結果が正の数(最上位ビットが0)になる
の2つのパターンで、表3のβは、この2つの組合せを示しています。

表3の真理値表のCinとCの値に注目してみると、上記の2パターンの場合(β部分)だけCinとCの値が反転(1→0,0→1)していることがわかります。つまり最上位ビットの演算においてC3とC4が反転しているかどうかで、桁あふれの有無がわかることになります。
pm01f.gif/image-size:316×252
C3とC4が反転しているかどうかの判定には、2つの入力が異なっている場合に1を出力する XOR回路 を使用するのが適切です。

c=オ:XOR
pm01g.gif/image-size:248×66

dについて〕
出力ZFの前はAND回路で、両方の入力が共に1の時だけ1が出力されます。(全てが0の判定)

全てが0の場合を適切に判定するには、S1〜S4までが全て0の場合にだけ2つのdからの出力が共に1になる必要があります。
S1とS2(S3とS4)の演算において,、両方が0の場合にだけ1を出力するようにしたいので、dに入る論理回路は NOR回路 が適切です。

d=ウ:NOR
pm01h.gif/image-size:447×133

平成25年秋期 午後問題一覧

問1 問2 問3 問4 問5 問6 問7 問8 問9 問10 問11 問12 問13 採点講評
© 2010-2020 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop