C言語でpow(17,17)のように大きな数を求めようとすると, 827240261886336827392 と出力されました.
しかし,正しい計算結果は, 827240261886336764177 となり,誤差が生まれています.
オーバーフローによるものであることはわかったのですが,正しい計算結果にすることはできないのでしょうか?なお,double型,long intにして計算をしてみても正しい出力結果が得られませんでした.
回答3件
あなたの回答
tips
プレビュー
投稿2021/01/28 04:20
C言語でpow(17,17)のように大きな数を求めようとすると, 827240261886336827392 と出力されました.
しかし,正しい計算結果は, 827240261886336764177 となり,誤差が生まれています.
オーバーフローによるものであることはわかったのですが,正しい計算結果にすることはできないのでしょうか?なお,double型,long intにして計算をしてみても正しい出力結果が得られませんでした.
回答3件
あなたの回答
tips
プレビュー