C++各数据类型的内存和范围

news/2026/1/19 11:07:35/文章来源:https://www.cnblogs.com/jacc8/p/19500663

一、核心前提:类型大小的标准规则

C++标准仅规定最小字节数和取值范围下限,具体大小由编译器(如MSVC/GCC)、系统位数(32/64位)决定,以下是主流平台(x86/x64,GCC/MSVC)的通用值:

  • 字节换算:1字节 = 8位(bit),取值范围由位数决定(无符号:$0 \sim 2n-1$;有符号:$-2 \sim 2^{n-1}-1$,n为位数)。

二、C++基础数据类型明细(x86/x64通用)

数据类型 内存占用(字节) 取值范围 说明
布尔型
bool 1 true/false(本质0/非0) 标准规定至少1字节
字符型
char 1 -128 ~ 127(有符号)/ 0~255(无符号) 取决于编译器,默认有符号
signed char 1 -128 ~ 127 显式指定有符号
unsigned char 1 0 ~ 255 无符号字符/二进制数据
wchar_t 2(Windows)/4(Linux) 随平台,用于宽字符(如中文) 存储Unicode字符
char8_t(C++20) 1 0 ~ 255 UTF-8字符
char16_t 2 0 ~ 65535 UTF-16字符
char32_t 4 0 ~ 4294967295 UTF-32字符
整型
short (short int) 2 -32768 ~ 32767 短整型
unsigned short 2 0 ~ 65535 无符号短整型
int 4 -2147483648 ~ 2147483647 整型(最常用)
unsigned int 4 0 ~ 4294967295 无符号整型
long (long int) 4(32位)/8(64位) -231~231-1 / -263~263-1 长整型,平台差异大
unsigned long 4(32位)/8(64位) 0~2^32-1 / 0~2^64-1 无符号长整型
long long 8 -9223372036854775808 ~ 9223372036854775807 超长整型
unsigned long long 8 0 ~ 18446744073709551615 无符号超长整型
浮点型
float 4 ±3.4×10^38(精度~6-7位有效数字) 单精度浮点
double 8 ±1.7×10^308(精度~15-17位有效数字) 双精度浮点(最常用)
long double 8/10/16 随编译器(MSVC=8,GCC=16) 扩展精度浮点

三、实用工具:代码获取当前平台的类型信息

如果想精准获取自己编译器/平台的类型大小和范围,可通过sizeof<climits>/<cfloat>头文件实现,代码可直接运行:

#include <iostream>
#include <climits>   // 整型范围
#include <cfloat>    // 浮点型范围
#include <typeinfo>  // 类型名using namespace std;int main() {// 1. 获取类型字节数cout << "=== 内存占用(字节)===" << endl;cout << "bool: " << sizeof(bool) << endl;cout << "char: " << sizeof(char) << endl;cout << "int: " << sizeof(int) << endl;cout << "long: " << sizeof(long) << endl;cout << "long long: " << sizeof(long long) << endl;cout << "float: " << sizeof(float) << endl;cout << "double: " << sizeof(double) << endl;// 2. 获取整型取值范围cout << "\n=== 整型取值范围 ===" << endl;cout << "int 最小值: " << INT_MIN << ", 最大值: " << INT_MAX << endl;cout << "unsigned int 最大值: " << UINT_MAX << endl;cout << "long long 最小值: " << LLONG_MIN << ", 最大值: " << LLONG_MAX << endl;// 3. 获取浮点型范围cout << "\n=== 浮点型取值范围 ===" << endl;cout << "float 最小值: " << FLT_MIN << ", 最大值: " << FLT_MAX << endl;cout << "double 最小值: " << DBL_MIN << ", 最大值: " << DBL_MAX << endl;cout << "float 有效数字: " << FLT_DIG << " 位" << endl;cout << "double 有效数字: " << DBL_DIG << " 位" << endl;return 0;
}

四、关键注意事项

  1. 平台差异:64位系统中long通常为8字节,32位系统为4字节;long double在GCC下是16字节,MSVC下是8字节,跨平台开发需注意。
  2. 溢出问题:有符号整型溢出会触发“未定义行为”(如int a = INT_MAX + 1;),无符号整型溢出会自动取模(安全)。
  3. 浮点精度:float/double无法精确表示所有小数(如0.1),金融/高精度场景需用decimal库或整数换算。
  4. 字符型陷阱:默认char的符号性由编译器决定,存储二进制数据优先用unsigned char

总结

  1. 核心记忆:int(4字节)、double(8字节)是最常用类型,bool/char固定1字节,long随平台、long long固定8字节;
  2. 取值范围:有符号类型范围是$-2^{n-1} \sim 2^{n-1}-1$,无符号是$0 \sim 2^n-1$(n为总位数);
  3. 实战技巧:用sizeof<climits>/<cfloat>获取精准信息,避免硬编码平台相关的数值范围。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1182673.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

web入门121-130

web121 分析代码发现过滤了更多,用SHLVL也被禁用了,可以使用${##}或${#?}来代替 ${PWD::${##}}???${PWD::${##}}?????${#RANDOM}${IFS}????.???解码得到flagweb122 分析代码PWD被禁了,发现HOME没有…

基于ssm+vue的学习空间服务平台[ssm]-计算机毕业设计源码+LW文档

摘要&#xff1a;随着教育信息化的快速发展&#xff0c;学习空间服务平台成为提升学习体验和资源管理效率的重要工具。本文介绍了一个基于SSM&#xff08;SpringSpringMVCMyBatis&#xff09;后端和Vue前端的学习空间服务平台的设计与实现。该平台旨在整合学习资源&#xff0c;…

EVCC EEBus智能充电:解锁家庭能源管理新境界

EVCC EEBus智能充电&#xff1a;解锁家庭能源管理新境界 【免费下载链接】evcc Sonne tanken ☀️&#x1f698; 项目地址: https://gitcode.com/GitHub_Trending/ev/evcc 还在为电动汽车充电效率低下而烦恼吗&#xff1f;EVCC结合EEBus标准&#xff0c;让您的充电体验从…

基于python的电子商务购物商城系统设计与实现 协同过滤算法 多商家 会员折扣 积分兑换

目录基于Python的电子商务购物商城系统设计与实现开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;基于Python的电子商务购物商城系统设计与实现 该系统采用Python语言开发&#xff0c;结合D…

基于ssm+vue的网上代驾调度平台[ssm]-计算机毕业设计源码+LW文档

摘要&#xff1a;随着汽车保有量的增加和酒驾法规的严格&#xff0c;代驾服务需求日益增长。为了提高代驾调度的效率和准确性&#xff0c;本文设计并实现了基于SSM&#xff08;SpringSpringMVCMyBatis&#xff09;后端框架和Vue前端框架的网上代驾调度平台。该平台实现了用户管…

TrollInstallerX终极安装手册:iOS 14-16系统免越狱应用部署实战指南

TrollInstallerX终极安装手册&#xff1a;iOS 14-16系统免越狱应用部署实战指南 【免费下载链接】TrollInstallerX A TrollStore installer for iOS 14.0 - 16.6.1 项目地址: https://gitcode.com/gh_mirrors/tr/TrollInstallerX TrollInstallerX作为iOS 14.0至16.6.1系…

如何让每次OBS直播都像电影大片:StreamFX特效插件5分钟上手指南

如何让每次OBS直播都像电影大片&#xff1a;StreamFX特效插件5分钟上手指南 【免费下载链接】obs-StreamFX StreamFX is a plugin for OBS Studio which adds many new effects, filters, sources, transitions and encoders! Be it 3D Transform, Blur, complex Masking, or e…

Frigate开源监控系统:智能家庭安防的终极指南

Frigate开源监控系统&#xff1a;智能家庭安防的终极指南 【免费下载链接】frigate NVR with realtime local object detection for IP cameras 项目地址: https://gitcode.com/GitHub_Trending/fr/frigate 还在为传统监控系统的高昂费用、隐私担忧和复杂配置而烦恼吗&a…

【Linalg】ElementwiseOpFusion 中其他优化模式技术分析

【Linalg】ElementwiseOpFusion 中其他优化模式技术分析 本文介绍 mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp 中其他三种关键优化模式:populateFoldReshapeOpsByExpansionPatterns tensor::popula…

【2026】 LLM 大模型系统学习指南 (5)

Bonus HW&#xff1a;生成式 AI 进阶实践 —— 从基础到创新的加分挑战在掌握生成式 AI 基础后&#xff0c;加分项目&#xff08;Bonus HW&#xff09;更像是一次 “实战演练”—— 它不局限于简单的概念记忆或步骤复刻&#xff0c;而是鼓励大家把基础知识点转化为解决问题的能…

【2026】 LLM 大模型系统学习指南 (6)

上下文工程&#xff1a;让 AI Agent“记对事、不迷路” 的核心技术 —— 从原理到落地在和 AI 互动时&#xff0c;你可能遇到过这样的问题&#xff1a;让模型分析一整本教材&#xff0c;它却记不住中间章节的关键知识点&#xff1b;和 AI 助手多轮对话后&#xff0c;它突然忘了…

重塑音乐体验:探索新一代插件管理器的无限可能

重塑音乐体验&#xff1a;探索新一代插件管理器的无限可能 【免费下载链接】BetterNCM-Installer 一键安装 Better 系软件 项目地址: https://gitcode.com/gh_mirrors/be/BetterNCM-Installer 您是否曾想过&#xff0c;让网易云音乐焕发全新活力&#xff1f;告别功能单一…

2026年十大灵活用工平台排行榜,品为灵工(品为企服)拔得头筹 - 华Sir1

在当今经济形势不断变化的2025年,灵活用工模式凭借其高度的灵活性和适应性,成为了企业和求职者共同青睐的新型就业与用工方式。众多灵活用工平台如雨后春笋般涌现,为市场注入了新的活力。经过综合评估,为您呈现202…

原圈科技领衔2026AI市场分析榜单,助您告别信息焦虑与无效获客

在AI市场分析领域&#xff0c;原圈科技的洞察号AI因其对中国本土市场的深刻理解与全面的数据覆盖能力而备受瞩目。它被市场普遍视为一款综合性营销智能中枢&#xff0c;在实时全平台信息抓取、多模态内容分析及深度洞察报告生成等多个维度下表现突出。该工具通过自动化、智能化…

2026年梳理系统门窗招商加盟,山西科典优势在哪 - 工业品牌热点

2026年家居建材行业持续升级,系统门窗因性能优势成为消费主流,而优质的加盟品牌则是创业者抢占市场红利的核心依托。无论是系统门窗的品牌影响力、隔音系统门窗的技术壁垒,还是招商加盟的政策扶持力度,品牌方的综合…

全网首推!154 页 RAG 实战手册,从基础入门到独立搭建RAG,全程干货,无废话!

《大模型RAG实战&#xff1a;RAG原理、应用与系统构建》是一本由NLP和AI领域的资深技术专家联合撰写的实战指南。随着大模型技术的爆发&#xff0c;尤其是ChatGPT等产品的兴起&#xff0c;知识库问答产品迅速走红&#xff0c;引发了RAG&#xff08;检索增强生成&#xff09;系统…

ESP-01系列

1.【stm32简单外设篇】- ESP8266 Wi-Fi 模块(ESP-01系列) https://blog.csdn.net/2501_92816716/article/details/156347173

2026年全国灵活用工十大平台综合盘点:合规、稳定与效能如何兼得 - 华Sir1

近年来,随着灵活就业形态的蓬勃发展与国家在税收监管、社会保障领域政策的持续完善与收紧,中国灵活用工市场的竞争格局发生了深刻演变。早期的“流量争夺战”已悄然落幕,取而代之的是对“合规纵深服务能力”、“规模…

【飞腾平台实时Linux方案系列】第十二篇 - 飞腾平台实时Linux低功耗优化实践。

一、简介&#xff1a;低功耗 ≠ 牺牲实时性飞腾芯片&#xff08;FT-1500A/FT-2000/4 D2000&#xff09; 已大规模用于能源、矿山、轨道交通等关键领域&#xff0c;现场常采用电池/太阳能供电&#xff0c;待机功耗每降低 1 W&#xff0c;年省电费 200 元/节点。工业实时协议&…

2026年十大灵活用工平台推荐:强合规、高实用,助力企业高效用工 - 华Sir1

近年来,灵活用工成为企业与个人应对新就业形态的重要选择,但随之而来的合规、税务、安全等问题也日益突出。如何选择一个既符合政策要求、又具备高实用价值的平台,成为众多企业的核心关切。本文基于“政策合规性”“…