1
私は(1e200)^ 2を計算するシンプルなCプログラムを持っています。これは、最大でdouble
が1e308程度であるため浮動小数点オーバーフロー例外が発生するはずです。浮動小数点オーバーフロー例外をキャプチャするには
double square(double x){
return x*x;
}
int main(){
double x = 1e200;
double y= square(x);
}
私の質問は以下のとおりです。
(1)どのようにプログラムを実行するときに、例外が端末にプリントアウトすることができるように、コマンドラインを介して例外をキャプチャすることができますか?
(2)プログラムの実行中に浮動小数点例外信号を出力する追加の命令を挿入することで、例外をどのようにキャプチャできますか?一般性のために、この目標を達成するためにy==inf
を使用しないことをお勧めします。
ありがとうございました。
エラーの自動チェック方法については、[こちら](http://stackoverflow.com/q/15655070/478288)を参照してください。 – chrisaycock
'if(y == inf){printf(" overflow ");}'のようなものですか? –
@ KamiKaze AFIKでは、実装は 'inf'を使う必要はありません。 –