Namespaces
Variants

Fixed width floating-point types (since C++23)

From cppreference.net
Utilities library

구현이 다음 중 어느 하나를 확장 부동 소수점 타입으로 지원하는 경우: 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]

참고 항목