最近値丸め(Round to Nearest) |
+∞方向への丸め(Round toward +∞) |
−∞方向への丸め(Round toward -∞) |
0方向への丸め(Round toward 0) |
C++/C99 では,fesetround() 関数を使うことで,丸めモードを変更できる.
#include <stdio.h>
#include <fenv.h>
#include <math.h>
int main(void)
{
double f = 5.5;
int d;
fesetround(FE_TOWARDZERO);
d = rint(f);
printf("FE_TOWARDZERO: %d\n", d);
fesetround(FE_TONEAREST);
d = rint(f);
printf("FE_TONEAREST: %d\n", d);
return 0;
}
結果
FE_TOWARDZERO: 5
FE_TONEAREST: 6
サンプル プログラムのダウンロード