Fixed width floating-point types (since C++23)
From cppreference.net
C++
Utilities library
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Type support
| Basic types | |||||||||||||||||||||
| Fixed width integer types (C++11) | |||||||||||||||||||||
| Fixed width floating-point types (C++23) | |||||||||||||||||||||
|
|||||||||||||||||||||
| Numeric limits | |||||||||||||||||||||
| C numeric limits interface | |||||||||||||||||||||
| Runtime type information | |||||||||||||||||||||
|
|||||||||||||||||||||
구현이 다음 중 어느 하나를 확장 부동 소수점 타입으로 지원하는 경우: 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]