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

变量定义

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

相关推荐
CodeRecycle2 小时前
Python 自动配置 pip 支持库(通过 Windows Bat 脚本)
算法
liliangcsdn2 小时前
特质偏度因子的计算示例和分析
算法
荆棘鸟智能3 小时前
无人机遥感图像实时拼接算法工程实践:从特征提取到全景融合的完整技术链路
算法·无人机
xxwxx__3 小时前
C++ STL set 与 map 全套详解:关联式容器、红黑树底层、代码坑点、刷题实战
数据结构·c++
6Hzlia3 小时前
【Classic 150 刷题计划】 LeetCode 58. 最后一个单词的长度 | C++ 极简反向遍历与单变量状态机
算法
AgentMaster3 小时前
企业如何应用智能客服?5 个典型场景的技术架构与实施路径
大数据·算法
程曦曦4 小时前
MySQL 生产库误删 98 张表后的时间点恢复实战:从 binlog 解析到资金对账
linux·数据结构·其他·算法·ubuntu·运维开发
郝学胜-神的一滴4 小时前
Effective Python 条款 13:善用星号解包,告别下标切片拆分的坑
服务器·开发语言·数据结构·python·程序人生·pycharm
Logic1014 小时前
C语言/数据结构位运算题解:异或XOR找出流水线上的“独特零件编号“——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
weixin_307779134 小时前
C++代码实现MATLAB中的ode45函数功能
开发语言·c++·算法·matlab