名稱空間
變體
操作

float_t, double_t

來自 cppreference.com
< c‎ | 數值‎ | 數學
 
 
 
常用數學函式
函式
基本操作
(C99)
(C99)
(C99)
(C99)(C99)(C99)(C23)
最大值/最小值操作
(C99)
(C99)
指數函式
(C23)
(C99)
(C99)
(C23)
(C23)

(C99)
(C99)(C23)
(C23)
(C23)
冪函式
(C99)
(C23)
(C23)

(C99)
(C23)
(C23)
三角函式和雙曲函式
(C23)
(C23)
(C23)
(C23)
(C99)
(C99)
(C99)
最近整數浮點數
(C99)(C99)(C99)
(C99)

(C99)(C99)(C99)
(C23)(C23)(C23)(C23)
浮點數操作
(C99)(C99)
(C99)(C23)
(C99)
窄化操作
(C23)
(C23)
(C23)
(C23)
(C23)
(C23)
量子與量子指數
十進位制重新編碼函式
總序和載荷函式
分類
(C99)
(C99)
(C99)
(C23)
誤差函式和伽馬函式
(C99)
(C99)
(C99)
(C99)
型別
float_tdouble_t
(C99)(C99)
宏常量
特殊浮點值
(C99)(C23)
引數和返回值
錯誤處理
快速操作指示符
 
定義於標頭檔案 <math.h>
typedef /* implementation-defined */ float_t
(C99 起)
typedef /* implementation-defined */ double_t
(C99 起)

型別 float_tdouble_t 是浮點型別,它們的寬度至少分別與 floatdouble 相同,並且 double_t 的寬度至少與 float_t 相同。 FLT_EVAL_METHOD 的值決定了 float_tdouble_t 的型別。

FLT_EVAL_METHOD 解釋
0 float_tdouble_t 分別等價於 floatdouble
1 float_tdouble_t 都等價於 double
2 float_tdouble_t 都等價於 long double
其他 float_tdouble_t 都由實現定義

[編輯] 示例

#include <float.h>
#include <math.h>
#include <stdio.h>
 
#define SHOW(expr) printf("%s = %d\n", #expr, (int)(expr))
 
int main()
{
    SHOW(FLT_EVAL_METHOD);
    SHOW(sizeof(float));
    SHOW(sizeof(float_t));
    SHOW(sizeof(double));
    SHOW(sizeof(double_t));
}

可能的輸出

FLT_EVAL_METHOD = 1
sizeof(float) = 4
sizeof(float_t) = 8
sizeof(double) = 8
sizeof(double_t) = 8

[編輯] 參考

  • C23 標準 (ISO/IEC 9899:2024)
  • 7.12 數學 <math.h> (p: 待定)
  • C17 標準 (ISO/IEC 9899:2018)
  • 7.12 數學 <math.h> (p: 待定)
  • C11 標準 (ISO/IEC 9899:2011)
  • 7.12 數學 <math.h> (p: 231)
  • C99 標準 (ISO/IEC 9899:1999)
  • 7.12 數學 <math.h> (p: 212)

[編輯] 參閱

指定所有算術運算的精度
(宏常量)