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

变量定义

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. 数据类型的作用

intunsigned intlong 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 看看为什么

相关推荐
旖旎夜光7 小时前
LeetCode 991: 坏了的计算器(贪心算法) —— 题解
数据结构·c++·算法·leetcode·贪心算法
旖旎夜光7 小时前
LeetCode 553:最优除法(贪心算法) —— 题解
数据结构·c++·算法·leetcode·贪心算法
雾喔7 小时前
算法练习7
java·数据结构·算法
可编程芯片开发8 小时前
基于模糊PID控制的六步逆变器供电无刷直流电机调速simulink仿真
算法
imperialeast9 小时前
WinAXP音乐播放器8月4日更新
windows·算法·ui
ZhouDevin9 小时前
算法论文/模型微调1——CNN架构做lora微调训练
人工智能·深度学习·算法·架构·cnn
小月土星9 小时前
LeetCode 21. 合并两个有序链表 超详细题解(虚拟头结点 + 逐行代码拆解)
算法
oier_Asad.Chen9 小时前
【OI学习笔记】Floyed-Warshall算法解决传递闭包问题
c++·笔记·学习·算法·图论·最短路·传递闭包
国科安芯9 小时前
卫星星务计算机数据管理中SEU容错机制的技术实现研究——以AS32S601存储器ECC架构为例
网络·单片机·算法·fpga开发·架构·云计算·risc-v
孙启超9 小时前
【AI应用开发】Agent 无限 loop(反复调用同一个工具)如何规避?
人工智能·python·算法·llm·agent·loop·ai应用开发