数値を2進数で表すレジスタがある。 このレジスタに格納されている正の整数x を10倍にする操作はどれか。 ここで、シフトによるけたあふれは、起こらないものとする。
答え ア
【解説】 10進数の“10”を2進数で表すと“1010”になる。 すなわち、2進数で10倍するというのは、元の数x を8倍(3ビット左シフト)したものとx を2倍(1ビット左シフト)したものを加算すればよい。 すなわち、 10x =8x +2x である。ただ、この処理方法は選択肢にないので、この式を変形すると 10x =2(4x +x ) になる。 これは、x を4倍(2ビット左シフト)したものにx を加算し、更に2倍(1ビット左シフト)したものである。(ア)
【キーワード】 ・レジスタ ・けたあふれ
戻る 一覧へ 次へ