前提・実現したいこと
C言語で割り算を行いたいです。
354224848179262000000 / 218922995834555200000
↑かなり桁数が多いので、double型を使ってみたのですが、うまくいきません。
答えは「1.618033988749890」です。
小数点以下まで正確に計算して結果を表示するには、どうすれよいでしょうか…。
発生している問題・エラーメッセージ
コンパイル(bcc32を使っています)時に以下のエラーメッセージが表示されます。
警告:整数の算術オーバーフロー(関数 main)
該当のソースコード
C
1#include <stdio.h> 2 3int main(void){ 4 printf("%lf\n", (double)354224848179262000000 / (double)218922995834555200000); 5 return(0); 6}
試したこと
上述のように整数値をDouble型へ変換しているので、正確にできるだろうと思っていたのですが…
long long型なら良いという情報も見つけ、やってみましたがうまくいきませんでした。
補足情報(FW/ツールのバージョンなど)
コンパイラはbcc32、Windows10 Proです。
回答6件
あなたの回答
tips
プレビュー