当前位置: 首页 > news >正文

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

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


整数类型

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

字符类型

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

浮点类型

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

布尔类型

类型大小(字节)取值范围
bool1(通常)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),明确指定位数。


示例代码

#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;
}

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

相关文章:

  • Amlogic USB Burning Tool v2.2.5_晶晨线刷烧录工具v2.2.5_晶晨S905L3S-S905L3SB芯片_专用线刷烧录工具分享
  • 使用ASIWebPageRequest库编写Objective-C下载器程序
  • python学习笔记-day4(解决实际问题)
  • 我的技术十年
  • SHELL32!CDefView::_OnFSNotify函数是如何被调用的
  • MySQLvs Redis 事务:核心差异详解(简单易懂)
  • 49.日常算法
  • 深入解析MyBatis中一对一与一对多映射的实现方法与区别
  • Golang的代码注释规范指南
  • 计算机毕业设计SpringBoot+Vue.js众筹网站系统(源码+文档+PPT+讲解)
  • JavaScript实现著名的“两数之和”问题
  • C# Enumerable类 之 数据(类型)转换
  • Linux之kernel(1)系统基础理论(5)
  • 详细探索如何用脚本实现M小ySQL一键安装与配置,提升运维效率!
  • # 【Unity】【游戏开发】赛车游戏中碰撞加速的实现方法
  • LeetCode 692. 前K个高频单词:多种解法与实现技巧
  • YOLO11改进-模块-引入多尺度小波池化变压器MWPT 通过结合小波变换、多尺度池化以及门控机制等技术解决多尺度、小目标、边缘模糊等问题
  • 【GNN】第二章:图数据
  • 【电路笔记 TMS320C6***DSP】外部存储器接口 A EMIFA向FPGA(作为异步存储器)写入数据的示例
  • Python学习(十四)pandas库入门手册
  • 林州做网站/整合营销传播案例分析
  • 企业网站banner/怎么快速推广自己的产品
  • 网站服务器租赁价格/湖南百度seo
  • 设计制作个人网站/百度推广怎么操作
  • 如何才能看到国外的设计网站/天津搜索引擎优化
  • 做网站需要买服务器/广告投放网站