次の流れ図は、シフト演算と加算の繰返しによって2進数の乗算を行う手順を表したものである。 この流れ図中のa、bの処理の組合せとして、正しいものはどれか。 ここで、乗数と被乗数は符号なしの16ビットで表される。 X、Y、Zは32ビットのレジスタであり、けた送りには論理シフトを用いる。
答え ア
【解説】 X=1010、Y=1101の時のX×Yは 1010 ×1101 ────── 1010 0 1010 1010 ────── 10000010 になります。 これは、 (1010×1)+(1010×100)+(1010×1000) =1010+101000+1010000 =10000010 なので、Yは右にシフトしながら最下位のビットを見ていることがわかります。 また、Xは左シフトしていることがわかります。
【キーワード】 ・シフト演算
戻る 一覧へ 次へ