a / b の時点で float になって誤差が出てしまうので、$\floor{a/b}$ になってくれるとは限りません。というのがよくある説明です。 「誤差が出てしまう」と言われると、「では実際にそういうケースを構築してください」「誤差が出ない範囲を教えてください」と言いたくなってしまうのが人情というものです。 なので、それに答えましょう。 導入 上界 証明 所感 おわり 導入 まず、int / int についてですが、「両方のオペランドを float に変換してから除算し、float / float と同様の値を得る」演算ではありません。 いわゆる correctly-rounded な演算です。すなわち、除算を無限精度で行い、それを丸めモード(ここでは tiesToEven)に従って正確に丸めたものです。 なお、片方が float のときは float / float になってしまう