C++学习,标准库中 <cfloat>

<cfloat>是C++标准库中的一个头文件,它主要用于定义与浮点数相关的宏和常量。这些宏和常量提供了关于浮点数表示的精度、范围等信息,这些信息对于理解浮点数的行为和进行浮点数运算非常重要。

浮点数类型

在C++中,浮点数主要有以下几种类型:

  1. float:单精度浮点数,通常占用4个字节。
  2. double:双精度浮点数,通常占用8个字节。
  3. long double:扩展精度浮点数,其大小和精度可能因编译器和平台而异。

<cfloat>中定义的宏和常量

<cfloat>头文件定义了一系列与浮点数相关的宏和常量,包括但不限于:

  1. FLT_MIN:float类型的最小正数。
  2. FLT_MAX:float类型的最大正数。
  3. DBL_MIN:double类型的最小正数。
  4. DBL_MAX:double类型的最大正数。
  5. LDBL_MIN:long double类型的最小正数。
  6. LDBL_MAX:long double类型的最大正数。

示例:

#include <iostream>  
#include <cfloat>  
  
int main() {  
    // 输出 float 类型的范围和精度  
    std::cout << "float:\n";  
    std::cout << "Min: " << FLT_MIN << '\n';  
    std::cout << "Max: " << FLT_MAX << '\n';  
    std::cout << "Digits: " << FLT_DIG << '\n';  
  
    // 输出 double 类型的范围和精度 
    std::cout << "\ndouble:\n";  
    std::cout << "Min: " << DBL_MIN << '\n';  
    std::cout << "Max: " << DBL_MAX << '\n';  
    std::cout << "Digits: " << DBL_DIG << '\n';  
  
    // 输出 long double 类型的范围和精度  
    std::cout << "\nlong double:\n";  
    std::cout << "Min: " << LDBL_MIN << '\n';  
    std::cout << "Max: " << LDBL_MAX << '\n';  
    std::cout << "Digits: " << LDBL_DIG << '\n';  
  
    return 0;  
}