平成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 例えば,“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]
[←前の問題] [次の問題→] [問題一覧表] [分野別] [基本情報技術者試験TOP ]
©2004-2024 情報処理試験.jp
|
プライバシーポリシー・著作権・リンク
|
お問合わせ
|