基本情報技術者試験の過去問と解説
[TOP] [午前分野別] [午後分野別] [キーワード索引] [令和元年秋午前] [令和元年秋午後]

平成16年 春期 基本情報技術者 午後 問01
問01   2進数の加算

 2進数の加算に関する次の記述を読んで,設問 1,2 に答えよ。

2 けた以上の2進数を1けたずつ加算するとき,下位けたからの繰り上がりを考慮すると, 1 けたの2進数三つを加算する処理(以下,全加算処理という)が必要になる。 表は,全加算処理における入力と出力の組合せを示す。

例えば,表中の(c,x,y,c’,s)=(1,0,1,1,0)の組合せは,次の計算を表す。

基本情報技術者試験


設問1 2 けた以上の2進数に対して,下位けたから1けたずつ全加算処理を行う様子を 状態遷移図で示すと,図1のように書くことができる。 図1では,入力 x と y,出力 s の関係を,“/”を使って“xy/s”と表している。 また,図1中の q0 及び q1
は,それぞれ,加算処理によって繰り上がりの起こらなかった状態と, 繰り上がりの起こった状態を表している。初期状態は q0 である。

例えば,“01 + 01”の計算を図1を使って考えると,次のようになる。

(1) 1けた目の加算“1 + 1”を行うとき,下位けたからの繰り上がりがないので, c は 0 であり,状態は q0 である。 この状態において,入力 x,y は 1,1 なので,関係“11/0”が適合し,出力 s は 0 となる。 また,このとき c’は1となり,状態は q0 から q1 へ移る。

(2) q1 の状態で,2けた目の加算“0 + 0”を行う。このときの入力 x,y は 0,0 であり,c は1なので,関係“00/1”が適合し,出力 s は1となる。 また,このとき c’は 0 となり,状態は q1 から q0 へ移る。

図1の状態遷移図を使って,“0011 + 0101”の計算を行ったとき,状態は q0 と q1 をどのように遷移するか。 正しい答えを,解答群の中から選べ。

解答群

ア q0 → q1 → q0 → q0 → q0     イ q0 → q1 → q0 → q1 → q0

ウ q0 → q1 → q1 → q0 → q0     エ q0 → q1 → q1 → q1 → q0

オ q0 → q1 → q1 → q1 → q1

解答 ←クリックすると正解が表示されます

基本情報技術者試験


設問2 次のプログラムの説明を読んで,プログラム中の に入れる正しい答えを,解答群の中から選べ。

〔プログラムの説明〕

図1で示した状態遷移図を基に,16 ビットの加算処理を行うプログラムである。 ここで,図2に示すように,16 ビットの2進数を格納するための 16 個の要素を もつ論理型の配列(添字は 0 から始まる)x,y,s を用いる。 プログラム中の論理型の変数及び配列では,1 を true,0 を false として扱う。 また,プログラム中の xor は,排他的論理和演算を表している。

プログラムの実行後には,x と y の加算結果の下位 16 ビット分が s に格納される。

   図2 配列 x,y,s の説明

〔プログラム〕

解答群

ア sw = 0          イ sw = 1

ウ sw = s[i]         エ sw ← 0

オ sw ← 1          カ sw ← s[i]

キ sw ← x[i] and y[i]    ク sw ← x[i] or y[i]

解答 a ←クリックすると正解が表示されます

解答 b ←クリックすると正解が表示されます

解答 c ←クリックすると正解が表示されます


[←前の問題] [次の問題→] [問題一覧表] [分野別] [基本情報技術者試験TOP ]