初识数据类型以及变量定义

变量定义

1. int 基础概念

int 代表整型,默认是有符号类型 ; 主流编译器下 int 占用 4 字节(32 位二进制)。

注意点:1 字节 = 8 个二进制位。

示例:int a = 5; 内存中完整 32 位存储:0000 0000 0000 0000 0000 0000 0000 0101

2. int 的数值范围限制

int 固定只有 32 个二进制位,能表达的数字存在上限,分两种情况:

  1. 默认有符号 int 最高 1 位作为符号位(0 表示正数,1 表示负数),剩余 31 位存储数值。 取值范围:-2147483648 ~ 2147483647
  2. 无符号 unsigned int 全部 32 位都用来存储非负数,无符号位。 32 位全 1 二进制:1111 1111 1111 1111 1111 1111 1111 1111,对应十进制 4294967295 取值范围:0 ~ 4294967295

3. 更大范围的整型 long long int

若需要存储超出 int 上限的超大数字,使用 long long int(简写 long long):

  • 占用 8 字节(64 位二进制),可表示的数值区间远大于 int;
  • 同样支持无符号写法 unsigned long long int。

4. 数据类型的作用

int、unsigned int、long long int 都属于整型数据类型,写在变量名前,用于规定变量在内存中占用的空间大小、存储数字的正负属性、可存储数值的上下限。

还有一些数据类型:

类型 占用字节 二进制位数 取值范围 补充说明
char 1 字节 8 位 signed char:-128 ~ 127unsigned char:0 ~ 255 char 默认是否有符号由编译器决定
signed char 1 字节 8 位 -128 ~ 127 明确有符号字符型
unsigned char 1 字节 8 位 0 ~ 255 无符号,仅存非负数
short / short int 2 字节 16 位 -32768 ~ 32767 简写 short,默认 signed
signed short int 2 字节 16 位 -32768 ~ 32767 显式有符号短整型
unsigned short int 2 字节 16 位 0 ~ 65535 无符号短整型,16 位全 1 最大值
int / signed int 4 字节 32 位 -2147483648 ~ 2147483647 最常用整型,默认有符号
unsigned int 4 字节 32 位 0 ~ 4294967295 32 位全 1 最大值
long long / long long int 8 字节 64 位 -9223372036854775808 ~ 9223372036854775807 标准长整型,主流平台固定 8 字节
signed long long int 8 字节 64 位 同上 显式有符号长长整型
unsigned long long int 8 字节 64 位 0 ~ 18446744073709551615 无符号长长整型

课后练习可以自己定义几个不同的数据类型给它不一样大小的值打印出来看看

可以发现这些值打印都不对

因为都超出这个范围-2147483648 ~ 2147483647

加上 long long 就不会了因为它范围更大了

可以试试 unsigned int a=2147483659 和 unsigned int a= -2147483659 看看为什么

相关推荐
BK贝壳1 天前
亿级用户签到位图选型复盘:用 bool-hybrid-array 扛冷启动打卡,也把它和 Roaring/Redis 的边界测清楚了
数据结构·python·性能优化·numpy
拓恒技术1 天前
无人机巡检AI算法的工程化落地:从需求到交付的5个核心环节
人工智能·算法·无人机
晨曦中的暮雨1 天前
限流算法——固定窗口、滑动窗口、漏桶、令牌桶
java·开发语言·算法
怕浪猫1 天前
Claude Code vs Codex:Computer Use 实现原理深度拆解
算法·面试·github
罗西的思考1 天前
AI 时代的 “房谋杜断”:如何培养能力、品味与判断力
人工智能·算法·机器学习
淡海水1 天前
07-02-源码-.NET Core GC分配路径
算法·unity·c#·.netcore·gc·1024程序员节
下一站春风里1 天前
位运算完整学习笔记:按位与(&)+ 异或(^)
开发语言·c++·算法
DRobot1 天前
【机械制图与CAD实战(二十五)】螺纹的表示方法
算法·机械制图
用户老李1 天前
卡尔曼滤波自学教程 10:无迹卡尔曼滤波(UKF)
算法
深圳市益普科技有限公司2 天前
半导体良率管理YMS:良率与设备参数的相关性,先拉哪几组数据
人工智能·python·算法