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

变量定义

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

相关推荐
Reart1 小时前
Leetcode 337.打家劫舍3(717)
后端·算法
梅梅绵绵冰1 小时前
数据结构-时间复杂度
数据结构·算法
遥感知识服务1 小时前
盐碱地、白屋顶和裸土都很亮,卫星怎样分清?
人工智能·算法·机器学习
可编程芯片开发1 小时前
基于PID控制器的车辆控制系统simulink建模与仿真
算法
广州灵眸科技有限公司1 小时前
瑞芯微RV1126B开发板(EASY-EAI-PI2) 系统操作-线进程操作
数据库·单片机·嵌入式硬件·算法·php
-dzk-2 小时前
【哈希】LC 49.字母异位词分组
算法·哈希算法
·醉挽清风·2 小时前
学习笔记—算法—算法题
笔记·学习·算法
2401_854151552 小时前
嵌入式传感器驱动开发深度解析——从 I2C/SPI 驱动到数据融合算法
驱动开发·算法
cpp_25012 小时前
P6625 [省选联考 2020 B 卷] 卡牌游戏
数据结构·c++·算法·前缀和·贪心·洛谷题解·省选