1、C和C++语言中基本的数据类型有:字符型(char),整形(short, int, long), 浮点型(float, double),其字节数也是有区别的,特别是int,其与系统有关,同时数据类型的字节数与unsigned和signed无关,其主要决定了数据类型的取值范围:
类型 | 字节数 | 类型 | 字节数 |
char | 1 | short | 2 |
int | 与系统有关, 可能为2或4 | long | 4 |
float | 4 | double | 8 |
2、同时字符型和整形还可以继续分为带符号的和不带符号的,默认情况下都是带符号的,如果想使用不带符号的,则使用时带上 unsigned说明即可,如果是带符号的,那么最高位将表示符号位,最高位为0表示为正数,最高位为1表示为负数,因此根据这个可以得到不同类型在分别带符号和不带符号的情况下表示的数据范围:
类型 | 范围 | 类型 | 范围 |
(signed)char | -128--127 | (unsigned)char | 0--255 |
(signed)short | -32768--32767 | (unsigned)short | 0--65535 |
(signed)int | -32768--32768 | (unsigned)int | 0--65536 |
(signed)long | -2147483648--2147483648 | (unsigned)long | 0--4294967295 |
float | -3.4*10e-38--3.4*10e38 | double | -1.7*10e-308--1.7*10e308 |