アは、被乗数( multiplicand )をX、乗数( multiplier )をYとした場合の「Boothの乗算アルゴリズム」の一般的な実装に合致するため適切です。このアルゴリズムでは、乗数Yの最下位ビット(第0ビット)を参照して、被乗数Xの加算または減算(ここでは減算は行わないため加算のみ)と、X、Yそれぞれのシフト操作を決定します。具体的には、Yの第0ビットが1ならばXを加算し、その後Xを論理左シフト、Yを論理右シフトします。Yの第0ビットが0ならばXの加算は行わず、同様にXを論理左シフト、Yを論理右シフトします。
読み込み中...