一.数据类型
基本类型:
short interesting <= int <= long int <= long long int
sizeof运算符:
例:查看各种数据类型的字节长度
sizeof运算符用于获得数据类型或表达式的长度
sizeof(object);//sizeof(对象);
sizeof(type_name); //sizeof(类型);
sizeof object; //sizeof 对象;
例:
signed和unsigned:类型限定符
用于限定char类型或任何整型变量的取值范围,signed表示带符号位的,unsigned表示不带符号位的,带符号位的说明该变量可以存放负数,不带符号位的只能存放正数和零
二.取值范围
比特位:CPU能读懂的最小单位一比特位,bit,b
字节:内存机构的最小寻址单位一字节,Byte,B
1Byte == 8bit
一个字节就是由8个比特位构成的
一个字节可以表示多大的数:(255)
进制:
转换为十进制: 2的n次方-1
例:32个比特位1转化为十进制就是2的32次方-1
在默认情况下,int是signed类型的,存放signed类型的存储单元中,左边第一位表示符号位。如果该位为0,表示该整数是一个正数;如果该位为1,表示该整数是一个负数。所以第一位不能用,代码应该如下:
一个32位的整型变量,除去左边第一位符号位,剩下表示值的只有31个比特位。所以默认的signed的int最大能存放的比特位是2的31次方-1
事实上计算机是用补码的形式来存放整数的值。
补码:
- 正数的补码是该数的二进制形式。
- 负数的补码需要通过以下几步获得:
- 先取得该数的绝对值的二进制形式
- 再将第1步的值按位取反
- 最后将第2步的值加1
例:
最大值:
最小值:
基本数据类型的取值范围: