【C++教程】C++中的基本数据类型

以下是 C++ 基本数据类型的定义、大小(常见实现)及其取值范围的总结表。需注意,具体大小可能因编译器和平台而异(如 32 位 vs 64 位系统),建议使用 sizeof()<climits><cfloat> 头文件中的宏获取具体值。


整数类型

类型 大小(字节) 取值范围(常见实现) 标准最小要求
signed char 1 -128 到 127 至少 8 位(-2⁷ 到 2⁷-1)
unsigned char 1 0 到 255 至少 8 位(0 到 2⁸-1)
short 2 -32,768 到 32,767 至少 16 位(-2¹⁵ 到 2¹⁵-1)
unsigned short 2 0 到 65,535 至少 16 位(0 到 2¹⁶-1)
int 4 -2,147,483,648 到 2,147,483,647 至少 16 位(通常为 32 位)
unsigned int 4 0 到 4,294,967,295 int 的无符号版本
long 4 或 8 -2³¹ 到 2³¹-1(4 字节)或更大 至少 32 位
unsigned long 4 或 8 0 到 2³²-1(4 字节)或更大 long 的无符号版本
long long 8 -9,223,372,036,854,775,808 到 ... 至少 64 位(-2⁶³ 到 2⁶³-1)
unsigned long long 8 0 到 18,446,744,073,709,551,615 0 到 2⁶⁴-1

字符类型

类型 大小(字节) 说明
char 1 可能是 signed charunsigned char(由编译器决定)
wchar_t 2 或 4 宽字符,支持更大字符集(如 Unicode)

浮点类型

类型 大小(字节) 取值范围(IEEE 754 常见值) 精度
float 4 ±1.18e-38 到 ±3.4e38 6-7 位小数
double 8 ±2.23e-308 到 ±1.79e308 15-16 位小数
long double 8, 12, 16 范围 ≥ double,具体依赖实现 通常 ≥ double

布尔类型

类型 大小(字节) 取值范围
bool 1(通常) truefalse

注意事项

  1. 平台依赖性

    • intlong 的大小可能因系统不同而变化(如 Windows 64 位中 long 为 4 字节,Linux 64 位中为 8 字节)。
    • 使用 sizeof(type) 直接获取当前平台的大小(如 sizeof(int))。
  2. 标准头文件

    • <climits> 包含整数类型的范围宏(如 INT_MAXLLONG_MIN)。
    • <cfloat> 包含浮点类型的范围宏(如 FLT_MAXDBL_EPSILON)。
  3. 固定宽度类型

    C++11 引入了 <cstdint> 中的固定大小类型(如 int32_tuint64_t),明确指定位数。


示例代码

cpp 复制代码
#include <iostream>
#include <climits>
#include <cfloat>

int main() {
    std::cout << "int 大小: " << sizeof(int) << " 字节" << std::endl;
    std::cout << "int 最大值: " << INT_MAX << std::endl;
    std::cout << "double 最小值: " << DBL_MIN << std::endl;
    return 0;
}

如果需要更精确的平台特定信息,请结合编译器和系统文档进行验证。

相关推荐
肆忆_14 小时前
# 用 5 个问题学懂 C++ 虚函数(入门级)
c++
不想写代码的星星18 小时前
虚函数表:C++ 多态背后的那个男人
c++
端平入洛3 天前
delete又未完全delete
c++
端平入洛4 天前
auto有时不auto
c++
郑州光合科技余经理4 天前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php
feifeigo1234 天前
matlab画图工具
开发语言·matlab
dustcell.4 天前
haproxy七层代理
java·开发语言·前端
norlan_jame4 天前
C-PHY与D-PHY差异
c语言·开发语言
哇哈哈20214 天前
信号量和信号
linux·c++
多恩Stone4 天前
【C++入门扫盲1】C++ 与 Python:类型、编译器/解释器与 CPU 的关系
开发语言·c++·人工智能·python·算法·3d·aigc