什么是数据类型
数据类型有字符型(char),整型(int),浮点型(float,double)等
整型又可以细分为,短整型(short)和长整型long,完整的写法为short int, long int.
字符型(char)在存储字符的时候,存的是该字符的ASCII码值,ASCII是整型,所以char类型归为
整型家族。
什么是有符号,什么是无符号
有正负的数据可以放在有符号的变量中,
无符号的数据可以放在无符号的数据中。
用字符型(char)定义的变量,不能确定到底是有符号的还是无符号的,这取决于编译器。
整型数据在内存中怎么存储
整数可以写出三种二进制的形式,分别为原码、反码和补码。
正整数的原码、反码和补码相同,如:2的原码反码和补码分别为
负整数的反码:原码符号位不变,其他位依次按位取反。补码为反码加上1.
如:-2的原码反码和补码分别为
对于整型,数据以补码的形式储存。
有符号char类型存储的数据范围为-128~127
无符号char类型存储的数据范围为0~255,等等
什么是大端和小端
大端:把一个数据低位字节处的数据存放到高地址处,高位字节处的数据的数据放在低地址处。
小端:把一个数据高位字节处的数据存放到高地址处,低位字节处的数据的数据放在低地址处。
例:int a = 0x11223344
低 高
大端字节序存储: 11 22 33 44
小端字节序存储: 44 33 22 11
在vs2019版本下,a在内存中的存储方式就是小端字节序存储。
整型提升
整型提升加的是原来高位的符号位