資格部

資格・検定の試験情報、対策方法、問題解説などをご紹介

FE 科目B サンプル問題 問6

 

 次のプログラム中の   に入れる正しい答えを,解答群の中から選べ。

 関数 rev は 8 ビット型の引数 byte を受け取り,ビットの並びを逆にした値を返す。例えば,関数 rev を rev(01001011) として呼び出すと,戻り値は 11010010 となる。
 なお,演算子 ∧ はビット単位の論理積,演算子 ∨ はビット単位の論理和,演算子 >> は論理右シフト,演算子 << は論理左シフトを表す。例えば,value >> n は value の値を n ビットだけ右に論理シフトし,value << n は value の値を n ビットだけ左に論理シフトする。

〔プログラム〕

◯8 ビット型: rev(8 ビット型: byte)

 8 ビット型: rbyte ← byte

 8 ビット型: r ← 00000000

 整数型: i

 for (i を 1 から 8 まで 1 ずつ増やす)

     

 endfor

 return r

 

解答群

  1. r←(r<<1)∨(rbyte∧00000001)
    rbyte ← rbyte >> 1
  2. r←(r<<7)∨(rbyte∧00000001)
    rbyte ← rbyte >> 7
  3. r←(rbyte<<1)∨(rbyte>>7)
    rbyte ← r
  4. r←(rbyte>>1)∨(rbyte<<7)
    rbyte ← r

解答・解説

解答

 ア

解説

 作成中

前問 一覧 次問