_control87, _controlfp
float.h:インデックス への移動
ヘッダーファイル
float.h
カテゴリ
演算ルーチン
プロトタイプ
unsigned int _control87(unsigned int newcw, unsigned int mask);
unsigned int _controlfp(unsigned int newcw, unsigned int mask);
説明
浮動小数点制御ワードを操作します。
_control87 は,浮動小数点コントロールワードを取得または変更します。
浮動小数点コントロールワードは,浮動小数点パッケージのモード(精度,無限大,および丸めモード)をビットごとに指定する unsigned int です。このモードを変更すると,浮動小数点例外をマスクまたはマスク解除できます。
_control87 は,mask 内のビットを newcw 内のビットに対応させます。マスクビットが 1 の場合は,newcw の対応するビットに新しい値があり,浮動小数点コントロールワードの同じビットで使用されます。つまり,_control87 は,コントロールワードのそのビットを新しい値に設定します。
次に簡単な例を示します。
元のコントロールワード |
0100 |
0011 |
0110 |
0011 | |
mask |
1000 |
0001 |
0100 |
1111 | |
newcw |
1110 |
1001 |
0000 |
0101 | |
ビットの変更 |
1xxx |
xxx1 |
x0xx |
0101 |
マスクが 0 の場合,_control87 は,浮動小数点コントロールワードを変更せずに返します。
_controlfp は Microsoft との互換用です。_controlfp は,mask パラメータの EM_DEMORMAL ビットを常に削除する(オフにする)ことを除き,_control87 と同じです。
戻り値
返される値のビットは,新しい浮動小数点コントロールワードを反映します。_control87 から返されるビットの定義については,ヘッダーファイル float.h を参照してください。
移植性
POSIX | Win32 | ANSI C | ANSI C++ | |
---|---|---|---|---|
_control87 |
+ |
|||
_controlfp |
+ |