C语言各数据类型所占字节数和取值范围 | 您所在的位置:网站首页 › 数据类型决定了数据的取值范围 › C语言各数据类型所占字节数和取值范围 |
C语言中各数据类型所占字节数和取值范围
注:每种数据类型的取值范围都是与编译器相关的,以下为数据Visual C++32位环境下的参数,如想清楚了解自己所用编译器对各数据类型所占字节,可以用sizeof进行检验。也可以使用limits.h头文件中的INT_MIN,INT_MAX等来查看取值范围
- 首先,unsigned 与signed (默认省略)相比,两者能表示的数字个数相同,不同的是unsigned是无符号的意思,所以unsigned修饰的数据都是非负数。 如: char : -128~127 unsigned char : 0~255 因此有符号整数中的最大值的绝对值仅为最大无符号整数的一半。 字符型signed char 1字节 -128~127 unsigned char 1字节 0~255 整型(short,int,long,long long)1.signed short 2字节 -32768~32767 (3*10^4) unsigned short 2字节 0~65535 (6*10^4) 2. signed int 4字节 -2147483648~2147483647 (2*10^9) unsigned int 4字节 0~4294967295 (4*10^9) 3. long 4字节 -2147483648~2147483647 (2*10^9) unsigned long 4字节 0~4294967295 (4*10^9) 4.long long 在VC6.0中不支持该类型,但有对应的类型__int64 编译long long 需要支持C99标准的编译器才可以,在C99标准中,long long 通常被定义成64位宽,占8个字节 long long 8字节 -9,223,372,036,854,775,808~9,223,372,036,854,775,807 (9*10^18) unsigned long long 8字节 0~18,446,744,073,709,551,616(10^19) 在一些编程竞赛中,有时会遇到一些“大数”,已经无法用整型变量来保存了,这种情况下就要选择用数组来保存了。 注:ANSI C对于int 型数据所占内存字节没有明确规定,只是规定其所占内存的字节数不小于short型,但不大于long型所占内存的字节数,(short |
CopyRight 2018-2019 实验室设备网 版权所有 |