数据类型

240 阅读1分钟

数据类型

数据类型

1.基本类型

1)整数类型 int short int long int
2)浮点数类型 float double 3) 字符类型 char 4)布尔类型 _Bool 5)枚举类型

2.指针类型

3.构造类型

1)数组类型 2)结构类型 3)联合类型

sizeof运算符

sizeof运算符用于获得数据类型或表达式的长度

——sizeof(object); //sizeof(对象);

——sizeof(type_name); //sizeof(类型);

——sizeof object; //sizeof 对象;

signed 和 unsigned

是类型限定符,用于限定char类型或者任何整型变量的取值范围。

signed表示该变量是带符号位的(只能存放正数和零)

而unsigned表示该变量是不带符号位的(可以存放负数)

[signed] short [int]

unsigned short [int]

[signed] int

unsigned int

[signed] long [int]

unsigned long [int]

取值范围

比特位:cpu能读懂的最小单位 ——比特位,bit,b

字节:内存机构的最小寻址单位 ——字节,byte,B

1Byte == 8bit

1个字节可以表示多大的数 二进制11111111 十进制255 十六进制FF

例题

#include <stido.h> #include <math.h>

int main() {

unsigned int result = pow(2,32) - 1;

printf("result = %u\n",result);//无符号类型要用%u

return 0;

int result = pow(2,31) - 1;

printf("result = %u\n",result);//无符号类型要用%u

return 0;

}

符号位

存放signed类型的存储单元中,左边第一位表示符号位。如果该位为0,表示该整数是一个正数;如果该位为1,表示该整数是一个负数。

一位32位的整形变量,除去左边第一位符号位,剩下表示值的只有31个比特位。

计算机是用补码的形式来存放整数的值。

QQ图片20210512113539.png