はじめに
編集ヘッダー <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
を代入しています。