コンテンツにスキップ

C++/標準ライブラリ/stdfloat

出典: フリー教科書『ウィキブックス(Wikibooks)』

はじめに

[編集]

ヘッダー <stdfloat> は、C++標準ライブラリの一部でありC++23で導入され、拡張浮動小数点型と呼ばれる特殊な浮動小数点データ型を定義するためのものです。これらの型は、オプションで実装で使用可能であり、従来の float, double, long double 型よりも幅や精度が異なる場合があります。

ヘッダー <stdfloat> の概要

[編集]
  • 拡張浮動小数点型の型エイリアスを定義します。
  • 型エイリアスは、実装定義の型を表します。
  • 使用可能な型エイリアスは、コンパイラとターゲットハードウェアによって異なります。

ヘッダー <stdfloat> で定義されている型エイリアス:

[編集]
  • float16_t: 16ビット幅の浮動小数点型
  • float32_t: 32ビット幅の浮動小数点型 (従来の float 型と同じ)
  • float64_t: 64ビット幅の浮動小数点型 (従来の double 型と同じ)
  • float128_t: 128ビット幅の浮動小数点型
  • bfloat16_t: 16ビット幅の符号付きブレイン浮動小数点型

補足

[編集]
  • 拡張浮動小数点型は、すべてのコンパイラとプラットフォームで利用可能とは限りません。使用可能かどうかは、コンパイラドキュメントで確認する必要があります。
  • 拡張浮動小数点型の具体的な実装は、コンパイラとターゲットハードウェアによって異なります。
  • 拡張浮動小数点型を使用する場合は、パフォーマンスと精度に関するトレードオフを考慮する必要があります。
C++
#include <stdfloat>

auto main() -> int {
    // float16_t 型の変数を使用する
    float16_t value = 3.14159f16;

    // ...
}

この例では、float16_t 型の変数 value を宣言し、値 3.14159 を代入しています。