
- C 標準庫
- C 庫 - 首頁
- C 庫 - <assert.h>
- C 庫 - <complex.h>
- C 庫 - <ctype.h>
- C 庫 - <errno.h>
- C 庫 - <fenv.h>
- C 庫 - <float.h>
- C 庫 - <inttypes.h>
- C 庫 - <iso646.h>
- C 庫 - <limits.h>
- C 庫 - <locale.h>
- C 庫 - <math.h>
- C 庫 - <setjmp.h>
- C 庫 - <signal.h>
- C 庫 - <stdalign.h>
- C 庫 - <stdarg.h>
- C 庫 - <stdbool.h>
- C 庫 - <stddef.h>
- C 庫 - <stdio.h>
- C 庫 - <stdlib.h>
- C 庫 - <string.h>
- C 庫 - <tgmath.h>
- C 庫 - <time.h>
- C 庫 - <wctype.h>
- C 標準庫資源
- C 庫 - 快速指南
- C 庫 - 有用資源
- C 庫 - 討論
- C 程式設計資源
- C 程式設計 - 教程
- C - 有用資源
C 庫 - fegetround() 函式
C 的fenv庫 fegetround() 函式是浮點環境的一部分,可用於訪問當前的舍入模式。此模式表示以四捨五入形式表示的浮點數。此函式的用法應用於圖形、數值分析和財務計算等各個領域。
語法
以下是 fegetround() 函式的 C 庫語法。
int fegetround(void);
引數
此函式不接受任何引數。
返回值
此函式返回表示以下舍入模式之一的整數值:
FE_TONEAREST:此引數定義舍入到最接近的,即零。
FE_DOWNWARD:此引數定義向負無窮大舍入的值。
FE_UPWARD:此引數定義向正無窮大舍入的值。
FE_TOWARDZERO:此引數定義舍入到零的值。
示例 1
以下是顯示 fegetround() 函式用法的基本 C 庫程式。
#include <stdio.h> #include <fenv.h> int main() { int round_mode = fegetround(); printf("Current rounding mode: %d\n", round_mode); return 0; }
輸出
以上程式碼產生以下結果:
Current rounding mode: 0
示例 2
下面的程式首先檢查當前的舍入模式並列印其值。然後,我們使用 fesetround 設定引數 FE_DOWNWARD,該引數確定向負無窮大的值,並顯示結果。
#include <stdio.h> #include <fenv.h> int main() { // Check current rounding mode int round_mode = fegetround(); printf("Current rounding mode: %d\n", round_mode); // Set rounding mode to downward fesetround(FE_DOWNWARD); round_mode = fegetround(); printf("Rounding mode after setting to FE_DOWNWARD: %d\n", round_mode); return 0; }
輸出
執行以上程式碼後,我們得到以下結果:
Current rounding mode: 0 Rounding mode after setting to FE_DOWNWARD: 1024
示例 3
fegetround() 接受引數 FE_TONEAREST 來執行使用 rint 函式的舍入計算任務,該函式將接受的引數舍入為整數。最後,輸出顯示不同的舍入模式如何影響 rint 函式的結果。
#include <stdio.h> #include <fenv.h> #include <math.h> int main() { // Set rounding mode to nearest fesetround(FE_TONEAREST); // Perform a calculation double result = rint(3.5); printf("Result with FE_TONEAREST: %f\n", result); // Change rounding mode to toward zero fesetround(FE_TOWARDZERO); // Perform the same calculation result = rint(3.5); printf("Result with FE_TOWARDZERO: %f\n", result); return 0; }
輸出
執行以上程式碼後,我們得到以下結果:
Result with FE_TONEAREST: 4.000000 Result with FE_TOWARDZERO: 3.000000
c_library_fenv_h.htm
廣告