名前空間
変種
操作

float_t, double_t

From cppreference.com
< c‎ | numeric‎ | math
 
 
 
共通の数学関数
関数
基本的な数学関数
(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)
量子および量子指数
Decimal再エンコーディング関数
総順序およびペイロード関数
分類
(C99)
(C99)
(C99)
(C23)
誤差関数とガンマ関数
(C99)
(C99)
(C99)
(C99)
float_tdouble_t
(C99)(C99)
マクロ定数
特殊な浮動小数点値
(C99)(C23)
引数と戻り値
エラーハンドリング
高速演算インジケータ
 
ヘッダー <math.h> で定義
typedef /* 実装依存 */ float_t
(C99以降)
typedef /* 実装依存 */ double_t
(C99以降)

float_t および double_t は、それぞれ float および double よりも幅が広い浮動小数点型であり、かつ double_tfloat_t よりも幅が広いです。 FLT_EVAL_METHOD の値が float_t および double_t の型を決定します。

FLT_EVAL_METHOD 説明
0 float_t および double_t は、それぞれ float および double と等価です。
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 Mathematics <math.h> (p: TBD)
  • C17標準 (ISO/IEC 9899:2018)
  • 7.12 Mathematics <math.h> (p: TBD)
  • C11標準 (ISO/IEC 9899:2011)
  • 7.12 Mathematics <math.h> (p: 231)
  • C99標準 (ISO/IEC 9899:1999)
  • 7.12 Mathematics <math.h> (p: 212)

[編集] 関連項目

すべての算術演算がどの精度で行われるかを指定します
(マクロ定数)
English 日本語 中文(简体) 中文(繁體)