プロが教えるわが家の防犯対策術!

C++で割り算の結果を昇順に出力するプログラムを作りたいのですが、例えば(double)1000000001/1000000002と(double)1000000000/1000000001など大きい数字の割り算を比較するとどちらも1になってしまって困っています。大きい数字の割り算結果を昇順に並べる方法を教えてください!

A 回答 (3件)

厳密には処理系依存の話だが


(double)1000000001/1000000002と (double)1000000000/1000000001
ならちゃんと正しく比較できることが多いんじゃないかね.

「比較するとどちらも1になってしまって困っています」が正確にはどのような状況を意味するのかさっぱりわからんけど.
    • good
    • 0

浮動小数点数の精度を高めて boost しましょう


https://boostjp.github.io/tips/multiprec-float.h …
    • good
    • 0

> 大きい数字の割り算を比較するとどちらも1になってしまって困っています。



クラスで分数型を作る、とか?
それで通分して大小比較するしかねぇんじゃねぇかな。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!