Namespaces
Variants

고정 너비 부동소수점 타입 (C++23 이후)

cppreference.net에서 발췌
 
 
유틸리티 라이브러리
일반 유틸리티
관계 연산자 (C++20에서 비권장)
정수 비교 함수
(C++20)(C++20)(C++20)    
(C++20)
교체 및 타입 연산
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
일반적인 어휘 타입
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)



 
 

구현체가 다음 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__ (N/A) 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]

참고 항목