-1

私はいくつかのC++プログラミングを行おうとしていますが、次の行で実行時に「浮動小数点例外」が発生します。

realAnswer=(0-720+5*1440)/((775-720)/(750-720))+720;

問題の原因は何ですか?(realAnswerはダブルです)

編集:スラッシュを追加しました

4

2 に答える 2

3

*がありません:

realAnswer=(0-720+5*1440)/((775-720)*(750-720))+720;
于 2012-10-03T07:12:56.597 に答える
2

Petarが指摘した*の欠落は別として、doubleを取得したい場合、計算では整数のみを使用します。あなたが今得ている答えは切り捨てられます(723)。

以下は、あなたが探していると思う倍精度を取得します。私はそれをコンパイルして実行することによってこれをテストしました:

realAnswer=(0.0-720.0+5.0*1440.0)/((775.0-720.0)*(750.0-720.0))+720.0;

これにより、結果として723.927が得られます。

于 2012-10-03T07:24:25.143 に答える