Skip to content

基本类型

参考:

Fundamental (built-in) types

Fundamental Types (C++)

C++中的基本类型(fundamental types,也称为built-in types)分为三类:

  • 整数
  • 浮点数
  • void

整数和浮点数

常用的整数和浮点数如下:

其所占字节大小以及类型作用如下所示:

  1. bool1字节大小,表示true或者false
  2. char1字节大小,作用于之前C风格字符串的字符,目前作用于std::string
  3. unsigned char:1字节大小,C++没有内置的字节类型,使用无符号字符表示字节值
  4. wchar_t2字节大小,以UNICODE格式编码的宽字符,这个字符类型作用于字符串类型std::wstring
  5. int4字节大小,默认整数类型
  6. unsigned int4字节大小,位标志的默认选择
  7. double8字节大小,默认浮点数类型
  8. long long8字节大小,用于大整数值表示

int类型还可以定义为占不同大小的类型:__int8_t/__int16_t/__int32_t/__int64_t

大多数基本类型(bool、double、wchar_t和相关类型除外)都有无符号版本

取值范围

参考:

Data Type Ranges

Numerical Limits (C++)

基本类型的最大最小取值可从以下两个头文件中获得:

  1. <climits>:用于整数类型
  2. <cfloat>:用于浮点数类型

整数的最大最小值,参考:Integer Limits

#include <iostream>
#include <climits>

using std::cout;
using std::endl;


int main() {
    // 最小变量所占位数
    cout << CHAR_BIT << endl;
    // 字符的最大最小值
    cout << CHAR_MIN << endl;
    cout << CHAR_MAX << endl;
    // 字节的最大值
    cout << UCHAR_MAX << endl;
    // 整数的最大最小值
    cout << INT_MIN << endl;
    cout << INT_MAX << endl;

    return 0;
}

结果

8
-128
127
255
-2147483648
2147483647

浮点数的最大最小值参考Floating Limits