にしのクエスト2

情報処理技術者試験と資格学校講師の日常

にしのクエスト2

まいにちキホン 平成29年秋 問1 レジスタ操作 問2 誤り検査

今日からスタートしました。基本情報技術者の連載で
す。午前の問題を少しずつ解いてみましょう。
※あいぱすと交互にやります。

f:id:koharuwest:20180409222033p:plain
(お知らせ)
4月16日(月)今回もやります!
情報処理安全確保支援士試験勝手に解答速報


まいにち、平成29年秋の問題を解いていきます。
問題の解き方や考え方をわかりやすく、解説してみる
連載です。(1回2問程度です)


問1
数値を2進数で表すレジスタがある。このレジスタに
格納されている正の整数xを10倍する操作はどれか。
ここで、桁あふれは、起こらないものとする。

ア xを2ビット左にシフトした値にxを加算し、更
  に1ビット左にシフトする。

イ xを2ビット左にシフトした値にxを加算し、更
  に2ビット左にシフトする。

ウ xを3ビット左にシフトした値と、xを2ビット
  左にシフトした値を加算する。

エ xを3ビット左にシフトした値にxを加算し、更
  に1ビット左にシフトする。


問2
送信側では、ビット列をある生成多項式で割った余り
をそのビット列に付加して送信し、受信側では、受信
したビット列が同じ生成多項式で割り切れるか否かで
誤りの発生を判断する誤り検査方式はどれか。

ア CRC方式
イ 垂直パリティチェック方式
ウ 水平パリティチェック方式
エ ハミング符号方式

 

 


(解答と解説)

問1
2進数の2。すなわち10は。0を1個増やすと。
100、すなわち10進数の4になります。
さらに、0を増やすと。
1000、すなわち10進数の8になります。

このように桁を増やしていく処理を左シフトとい
い、元の数を2倍にする性質があります。ちなみ
に0を取り去れば右シフトとなり、大きさは半分
になります。

こういう問題は、なんでもいいので、数字を当て
はめてみましょう。10進数でいうところの2。
2進数の10を使います。

ア 10を2ビット左にシフトした値に10を加
  算し、更に1ビット左にシフトする。

  1000 これに10を加算し、
  1010 さらに1ビット左
 10100 20ですね。元の10倍です。
 
 いきなり「ア」が正解だと分かってしまいまし
 た!

イ 10を2ビット左にシフトした値に10を加
  算し、更に2ビット左にシフトする。

  101000 なので40。元の20倍です。

ウ 10を3ビット左にシフトした値と、10を
  2ビット左にシフトした値を加算する。

  11000 なので24。

エ 10を3ビット左にシフトした値に10を加
  算し、更に1ビット左にシフトする。

  10100 なので36。


問2
イ 垂直パリティチェック方式
パリティビットを付加する方式です。

ウ 水平パリティチェック方式
同上。

エ ハミング符号方式
2ビットの誤り検出と自動訂正!

ア CRC方式
生成多項式を使って作ったデータを付加します。
バースト誤り(ノイズなどの影響で連続してお
こる誤り。パリティ方式だとパリティそのもの
もバーストしちゃうんで発見が難しい)を発見
できます。正解はこれですね。

次回もよろしくおねがいします!