Posted on 

C++ 变量和数据类型

变量

基本概念

变量就是一个代号,程序运行时系统会自动为变量分配内存空间,于是变量就代表了系统分配的那片内存空间,对变量的访问,就是对其代表的内存空间的访问。

变量有两个属性:

  1. 名字:对应内存中不同的 地址
  2. 类型:决定了一个变量 占用了多少字节

C++保留字

image-20220112223251541

数据类型

  1. 不同的数据类型的变量占用的存储空间大小也不同。
  2. C++允许自定义数据类型。

二进制,十六进制与十进制

二进制

  1. 取值0或1,称为一个 比特 (bit),简写 b。
  2. 八个 二进制位称为一个“字节”(byte), 简写B。

十六进制

  1. 10~15用A~F表示
  2. 十六进制与十进制的转换

image-20220106164731056

  1. 十六进制与二进制的转换

    image-20220106164810788

K进制与十进制的转换

image-20220106164527474

image-20220106164557095

基本数据类型

image-20220106165033417

sizeof

1
sizeof(变量名)

得到某个变量占用的字节数

变量的初始化

1
int a = 4, b=3, c

数据类型的自动转换

在赋值时一些相容的数据类型可以互相转化,比如:

1
int a = 13.14; // 13.14被转换为13

字符类型到整型的转换

字符类型可以转换为整型数据,即转换为字符的ASCII码。

1
2
int k = 'a'; // k --> a的ASCII码97(b是98,c是99...)
printf("%d", k)

整型数据也可以转换为字符型数据,但只会留下最右边的一个字节(第0位到第7位),其他字节丢弃

1
2
3
int n = 98;
char k = n; // k ---> 98是b的ASCII码
printf("%c", k)

有符号整数

Short, int, long等类型,可以表示正数,也可以表示负数,称为有符号的整数类型。

相反,unsigned short等,只可以表示非负数,称为无符号的整数类型。

表示方式

将最左边的位(最高位)看作“符号位”。 符号位为0,则表示是非负数,其绝对值就 是除符号位以外的部分;符号位为1,则表示是负数, 其绝对值是所有位取反(0变1,1变0)后再加1

image-20220106165804485