您的位置:首页 > 编程语言 > C语言/C++

C语言中各种数据类型长度

2014-08-15 11:05 375 查看
C语言的基本数据类型有以下几个:

int 整型

char 字符型

float 单精度浮点型

double 双精度浮点型

另外,在基本数据类型基础上附加一些限定词, 得到扩充的数据类型。short,long可以应用到整型, unsigned可以应用到整型和字符型:

short int(或short) 短整型

long int(或long) 长整型

unsigned int 无符号整型

unsigned short 无符号短整型

unsigned long 无符号长整型

unsigned char 无符号字符型


整型

C标准没有规定各类数据所占内存字节数,通常一个int型数据所占内存与计算机字长大小相同,为16位或32位,short型数据通常占16位,long型数据是32位。每种编译器可以为硬件选择适合的长度,仅受一些限制,如short 和int 型数据至少占16位,long型至少占32位, short型数据不能超过int型数据的字节数,而int型不长于long
型。

无符号的数总是正数或零,服从数学式子2n,其中n是这种类型的二进制位数。例如,int型是16位,它的数据取值范围在-32768-32767之间,而unsigned int型数据取值范围在0-65535之间。下表列出了不同机器上整型数据的取值范围。
 
16位机器
32位机器
数据类型
所占位数
取值范围
所占位数
取值范围
int
16
-32768~32767
32
-21亿~21亿
short
16
-32768~32767
16
-32768~32767
long
32
-21亿~21亿
32
-21亿~21亿
unsigned int
16
0~65535
32
0~42亿
unsigned short
16
0~65535
16
0~65535
unsigned long
32
0~42亿
32
0~42亿

字符型

字符型数据存储时占用8位,它实际存储的是字符对应ASCII码(美国标准信息交换码American Standard Code for Information Interchange)。如一个char型数据'A',其ASCII码为65,故实际存储的内容是65。unsigued
char型数据取值范围为0-255,char型数据取值范围为-128-127。字符有符号或无符号是依赖于机器的,但是可打印的字符总是正的。

由于在内存中字符型数据是以ASCII码形式存放,其形式与整型类似,因而在C语言中,字符型数据与整型数据可以通用,字符型数据所有的性质与一字节整型量相同。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: