程序中的数据实在内存中以二进制存放的,数据类型用来说明数据的类型,确定数据的解读方式。C++基本数据类型有整形、浮点型、字符型和布尔型。
整形分为3种,
short :占2字节,16bit。无符号短整型取值范围位0~65535。如果16个比特位都是1代表无符号短整型的最大值 的存放形式。有符号短整型的取值范围是 -32768~ 32767,原因是最高位是符号位,当取最大值时,最高位为 0,取最小值时,最高位为1.
int :占4字节,32bit.分为sighed int :0-4294967295;unsighed int:-2147483628 ~2147483627.
long:占4字节,32bit.
#include <limits> // 短整型、整形、长整型的最大值和最小值函数在limits头文件中
cout << "short :\t\t" << "最大字节数:" << sizeof(short) ;
cout << "\t最大值" << (numeric_limits<short>::max) ();
cout << "\t最大值" << (numeric_limits<short>::min) ();
浮点型分为2种
单精度浮点型float:用来表示带有小数部分的实数,占4字节,32bit.包括符号位1位,阶码8位,尾数23位,取值范围为 - 3.4E38 ~ 3.4e38,最多有7位十进制有效数字。
双精度浮点型 double:占有8字节,64bit.取值范围为 -1.7E308 ~ 1.7E308.有效数字最高15位。
字符型为2种
字符型 char :长度是1,智能容纳ASCII码中的字符,也就是英文字符。单引号(’‘)表示。占有1字节,8比特位。取值范围 0-255.
char mychar;
mychar = 'a';
计算机在存储字符时并不是存储字符实体,而是只存储该字符在字符集中的编号。也就是其ASCII码。无论在那个字符集中,字符编号都是一个整数,从这个角度看,字符类型与整数类型本质上没有区别。用户可以给 字符类型赋值一个整数,或者以整数的形式输出字符类型。反之也可以。
char x1 = 'A';
char x2 = 65;
int x3= 'B';
int x4 = 66;
宽字符型 wchar_t :用来容纳Unicode码表中的字符,占有2字节。
//实际上是一个自定义类型
typedef wchar_t short int;//本质上是一个短整型
转义字符: c++中,一个字符除了用它的实体表示,还可以用编码表示。这种用编码值来间接表示字符的方式称为转义字符。以 \ 或 \x 开头,\开头后面跟八进制的编码值,\x开头后面跟十六进制的编码值。
八进制形式的转义字符最大是 \ddd 即 \177;
十六进制形式的转义字符最大是 \xdd 即 \7f
对于ASCII码值,0~31为控制字符,不可见也不可输入,只能用转义字符表示。
布尔型 bool : true ,false
占用1个字节。
位运算符
是把数字看作二进制来进行运算的,
^ 按位异或运算符:当两个对应的二进位相异时,结果为1.
~ 按位取反运算符:对每个二进制位取反。
<< 左移动运算符: 运算数的各二进位全部左移