次のプログラム中の に入れる正しい答えを,解答群の中から選べ。
関数 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
解答群
- r←(r<<1)∨(rbyte∧00000001)
rbyte ← rbyte >> 1 - r←(r<<7)∨(rbyte∧00000001)
rbyte ← rbyte >> 7 - r←(rbyte<<1)∨(rbyte>>7)
rbyte ← r - r←(rbyte>>1)∨(rbyte<<7)
rbyte ← r
解答
ア
解説
作成中