名前空間
変種
操作

固定幅浮動小数点型 (C++23 以降)

From cppreference.com
< cpp‎ | types
 
 
ユーティリティライブラリ
言語サポート
型のサポート (基本型、RTTI)
ライブラリ機能検査マクロ (C++20)
プログラムユーティリティ
可変引数関数
コルーチンサポート (C++20)
契約サポート (C++26)
三方比較
(C++20)
(C++20)(C++20)(C++20)  
(C++20)(C++20)(C++20)

汎用ユーティリティ
関係演算子 (C++20で非推奨)
 
型サポート
基本的な型
固定幅整数型 (C++11)
固定幅浮動小数点型 (C++23)
(C++11)    
(C++17)
数値の限界
Cの数値の限界に関するインターフェース
実行時型情報
 

実装が以下の ISO 60559 型のいずれかを拡張浮動小数点型としてサポートする場合、

  • 対応するマクロがサポートを示す 1 として定義され、
  • 対応する 浮動小数点リテラル サフィックスが利用可能になり、
  • 対応する型エイリアス名が提供されます。

ヘッダで定義
<stdfloat>
リテラルサフィックス 定義済みマクロ C言語の型 型のプロパティ
格納ビット数 精度ビット数 指数ビット数 最大指数
float16_t f16 または F16 __STDCPP_FLOAT16_T__ _Float16 16 11 5 15
float32_t f32 または F32 __STDCPP_FLOAT32_T__ _Float32 32 24 8 127
float64_t f64 または F64 __STDCPP_FLOAT64_T__ _Float64 64 53 11 1023
float128_t f128 または F128 __STDCPP_FLOAT128_T__ _Float128 128 113 15 16383
bfloat16_t bf16 または BF16 __STDCPP_BFLOAT16_T__ (該当なし) 16 8 8 127

目次

[編集] 備考

std::bfloat16_t 型は Brain Floating-Point として知られています。

固定幅整数型標準整数型 のエイリアスである可能性があるのに対し、固定幅浮動小数点型は拡張浮動小数点型 (float / double / long double ではない) のエイリアスでなければなりません。したがって、標準浮動小数点型のドロップイン置換ではありません。

[編集]

#include <stdfloat>
 
#if __STDCPP_FLOAT64_T__ != 1
    #error "64-bit float type required"
#endif
 
int main()
{
    std::float64_t f = 0.1f64;
}

[編集] 参照

  • C++23標準 (ISO/IEC 14882:2024)
  • 6.8.3 オプションの拡張浮動小数点型 [basic.extended.fp]

[編集] 関連項目

English 日本語 中文(简体) 中文(繁體)