C++ 变量和数据类型
变量
基本概念
变量就是一个代号,程序运行时系统会自动为变量分配内存空间,于是变量就代表了系统分配的那片内存空间,对变量的访问,就是对其代表的内存空间的访问。
变量有两个属性:
- 名字:对应内存中不同的 地址。
- 类型:决定了一个变量 占用了多少字节。
C++保留字
数据类型
- 不同的数据类型的变量占用的存储空间大小也不同。
- C++允许自定义数据类型。
二进制,十六进制与十进制
二进制
- 取值0或1,称为一个 比特 (bit),简写 b。
- 八个 二进制位称为一个“字节”(byte), 简写B。
十六进制
- 10~15用A~F表示
- 十六进制与十进制的转换
十六进制与二进制的转换
K进制与十进制的转换
基本数据类型
sizeof
1 | sizeof(变量名) |
得到某个变量占用的字节数
变量的初始化
1 | int a = 4, b=3, c |
数据类型的自动转换
在赋值时一些相容的数据类型可以互相转化,比如:
1 | int a = 13.14; // 13.14被转换为13 |
字符类型到整型的转换
字符类型可以转换为整型数据,即转换为字符的ASCII码。
1 | int k = 'a'; // k --> a的ASCII码97(b是98,c是99...) |
整型数据也可以转换为字符型数据,但只会留下最右边的一个字节(第0位到第7位),其他字节丢弃:
1 | int n = 98; |
有符号整数
Short, int, long等类型,可以表示正数,也可以表示负数,称为有符号的整数类型。
相反,unsigned short等,只可以表示非负数,称为无符号的整数类型。
表示方式
将最左边的位(最高位)看作“符号位”。 符号位为0,则表示是非负数,其绝对值就 是除符号位以外的部分;符号位为1,则表示是负数, 其绝对值是所有位取反(0变1,1变0)后再加1。