関数名:_control87
ヘッダーファイル: <float.h>
関数プロトタイプ: unsigned int _control87(unsigned int new,unsigned intマスク);
機能: 浮動小数点制御ワードの取得と設定
パラメータ: unsigned int new 新しい制御ワード ビット値、unsigned int マスクは新しい制御ワード ビットのマスクを設定します。
戻り値: 浮動小数点制御ワードを返します。
プログラム例: 異なる制御ワードで 2 つの倍精度の積を計算する
#include<stdio.h>#include<float.h>intmain(){doublea=0.1;printf(original:0x%4xn,_control87(0,0));//元の制御語を出力 printf(% 1.1f*%1.1f=%.15en,a,a ,a*a);//2 つの倍精度の積を計算します//24 ビット制御ワードを出力します printf(24-bit:0x%4xn,_control87(_PC_24,_MCW_PC));printf(%1.1f * %1.1f=%.15en,a,a,a*a);//2 つの倍精度の積を計算します return0;}
実行結果:
オリジナル:0x8001f0.1*0.1=1.000000000000000e-00224-bit:0xa001f0.1*0.1=9.999999776482582e-003