名稱空間
變體
操作

固定寬度浮點型別 (C++23 起)

來自 cppreference.com
< cpp‎ | 型別
 
 
 
型別支援
基本型別
定寬整數型別 (C++11)
固定寬度浮點型別 (C++23)
(C++11)    
(C++17)
數值極限
C 數值極限介面
執行時型別資訊
 

如果實現支援以下任何 ISO 60559 型別作為擴充套件浮點型別,那麼

  • 對應的宏被定義為 1 以指示支援,
  • 對應的 浮點字面量 字尾可用,並且
  • 提供對應的類型別名
型別
定義於標頭檔案
<stdfloat>
字面量字尾 預定義宏 C 語言型別 型別屬性
儲存位數 精度位數 指數位數 最大指數
float16_t f16F16 __STDCPP_FLOAT16_T__ _Float16 16 11 5 15
float32_t f32F32 __STDCPP_FLOAT32_T__ _Float32 32 24 8 127
float64_t f64F64 __STDCPP_FLOAT64_T__ _Float64 64 53 11 1023
float128_t f128F128 __STDCPP_FLOAT128_T__ _Float128 128 113 15 16383
bfloat16_t bf16BF16 __STDCPP_BFLOAT16_T__ (不適用) 16 8 8 127

目錄

[編輯] 注意

型別 std::bfloat16_t 被稱為 Brain 浮點

固定寬度整數型別 不同,後者可能是 標準整數型別 的別名,固定寬度浮點型別必須是擴充套件浮點型別(而不是 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]

[編輯] 另請參閱