整型变量:
short:至少16位 -32768~32767.
int :32位 -2147483648~2147483647.
long:至少32位
unsigned short:: 0~65535
unsigned int(或者unsigned):0~4294967295
unsigned long
有符号型int,最高位用来表示符号,1表示负数,0表示整数,剩余的31位用来存储数值;最高位是1,其余位是0时表示的是int的最小值。
整型变量就像里程表,溢出的时候就从另一端取值。
整型常量,如果第一位数字是1~9,则为十进制数;如果第一位数字是0,第二位是1~7,则为8进制数;如果前两位是0x,则为16进制数。
cout默认以十进制数输出,cout<<hex使得计算机以16进制输出。
浮点型变量:
float:32位 。系统保证至少6位有效位
double:64位。系统保证至少13位有效位。
long double:80、96、128位。
这3种类型的指数范围至少都是-37~37.
c++默认显示模式为6位数,小数加整数共6位,并会自动删除结尾的0.
cout.setf(ios_base::fixed,ios_base::floatfield); 定点输出,小数点后面显示6位。
输入8.24, 2.4e8等数时,默认为double型,除非在后面加上f。
字符型变量:
char:型变量用单引号表示,如'm';字符串用双引号表示。可以使用数字型转义序列或者符号型转义序列,但应尽量使用符号型转义序列。
signed char:-128~127
unsigned char:0~255
wchar_t::wchar_t=L‘p’; wcout<<L"sdfifwiee";
头文件<climits>包含了关于整型的限制信息,如INT_MAX,INT_MIN等。
sizeof(类型名如int) 、sizeof 变量名 :返回的是变量的所占用的字节数。
const type name=value;使用了const之后该变量值不能被改变,如果初始化时没有赋值,则它的值不确定,并且不能被修改。
类型转化:
1.赋值时的转换
将一种类型的值赋值给另一种类型的变量的时候,值将被自动转换成接收变量的类型。
- 浮点型变量转换为整型变量的时候,会将数字截断(除去小数部分);其次float值对于int变量来说可能太大了,这种情况值将不确定。
- 字符型变量赋值给整型变量的时候,整型变量会得到字符的ASCII码。
- 将一个很大的long型变量赋值给float时,将会降低精度。如231343433,会被转换为2.31343e8,因为float只有6位有效数字。