基礎理論
浮動小数点数の加算 1.5 × 2³ + 1.25 × 2¹ を行うとき、最初に実行すべき処理として最も適切なものはどれか。
ア.2つの仮数部をそのまま加算し、その後で指数部を調整する。
イ.指数の小さい側の仮数を右シフトして、両者の指数を大きい方に揃える(桁合わせ)。正解
ウ.2つの数値を10進数に変換してから加算し、再び浮動小数点に戻す。
エ.仮数部を最大値にした上で指数部を加算する正規化処理を先に行う。
解説
浮動小数点の足し算は「単位を揃えてから足す物理の問題」と同じ。3kmと500mを足すには、まず500mを0.5kmに直す——これが桁合わせ。順序を間違えると答えが消えます。
なぜ イ が正解か
イが正解。浮動小数点加算は「①桁合わせ→②仮数加算→③正規化→④丸め」の4ステップ。指数が異なるまま仮数を加算しても意味がない(位が違う数を直接足せないのと同じ)。小さい指数側を大きい方に合わせる:1.25×2¹ = 0.3125×2³ と書き直してから、1.5+0.3125=1.8125 を計算し、結果は 1.8125×2³。指数の小さい側の仮数を右シフトする理由は、大きい側の精度を保つため。
出典: AI生成問題(学習用)