Linux数据类型大小
来源:互联网 发布:美工设计是做什么的 编辑:程序博客网 时间:2024/06/06 00:58
在Linux操作系统下使用GCC进行编程,目前一般的处理器为32位字宽,下面是/usr/include/limit.h文件对Linux下数据类型的限制及存储字节大小的说明。
/* We don't have #include_next. Define ANSI for standard 32-bit words. *//* These assume 8-bit 'char's, 16-bit 'short int's, and 32-bit 'int's and 'long int's. */
1.char数据类型
char类型数据所占内存空间为8位。其中有符号字符型变量取值范围为?128~127,无符号型字符变量取值范围为0~255。其限制如下:
/* Number of bits in a 'char'. */# define CHAR_BIT 8 //所占字节数/* Minimum and maximum values a 'signed char' can hold. */ //有符号字符型范围# define SCHAR_MIN (-128)# define SCHAR_MAX 127/* Maximum value an 'unsigned char' can hold. (Minimum is 0.) */ //无符号字符型范围# define UCHAR_MAX 255/* Minimum and maximum values a 'char' can hold. */# ifdef __CHAR_UNSIGNED__# define CHAR_MIN 0# define CHAR_MAX UCHAR_MAX# else# define CHAR_MIN SCHAR_MIN# define CHAR_MAX SCHAR_MAX# endif
2.short int数据类型
short int类型数据所占内存空间为16位。其中有符号短整型变量取值范围为?32768~32767,无符号短整型变量取值范围为0~65535。其限制如下:
/* Minimum and maximum values a 'signed short int' can hold. */ // 有符号短整型范围# define SHRT_MIN (-32768)# define SHRT_MAX 32767/* Maximum value an 'unsigned short int' can hold. (Minimum is 0.) */// 无符号短整型范围# define USHRT_MAX 65535
3.int数据类型
int类型数据所占内存空间为32位。其中有符号整型变量取值范围为?2147483648~2147483647,无符号型整型变量取值范围为0~4294967295U。其限制如下:
/* Minimum and maximum values a 'signed int' can hold. */ //整形范围# define INT_MIN (-INT_MAX - 1) # define INT_MAX 2147483647/* Maximum value an 'unsigned int' can hold. (Minimum is 0.) */ //无符号整形范围# define UINT_MAX 4294967295U
4.long int数据类型
随着宏__WORDSIZE值的改变,long int数据类型的大小也会发生改变。如果__WORDSIZE的值为32,则long int和int类型一样,占有32位。在Linux GCC4.0-i386版本中,默认情况下__WORDSIZE的值为32。其定义如下:
//come from /usr/include/bits/wordsize.h#define __WORDSIZE 32
在64位机器上,如果__WORDSIZE的值为64, long int类型数据所占内存空间为64位。其中有长整型变量取值范围为-9223372036854775808L~3372036854775807L,无符号长整型变量取值范围为0~18446744073709551615UL。其限制如下:
/* Minimum and maximum values a 'signed long int' can hold. */ //有符号长整形范围# if __WORDSIZE == 64# define LONG_MAX 9223372036854775807L# else# define LONG_MAX 2147483647L# endif# define LONG_MIN (-LONG_MAX - 1L)/* Maximum value an 'unsigned long int' can hold. (Minimum is 0.) *///无符号长整形范围# if __WORDSIZE == 64# define ULONG_MAX 18446744073709551615UL# else# define ULONG_MAX 4294967295UL# endif
5.long long int数据类型
在C99中,还定义了long long int数据类型。其数据类型限制如下:
# ifdef __USE_ISOC99/* Minimum and maximum values a 'signed long long int' can hold. *///无符号长长整形范围# define LLONG_MAX 9223372036854775807LL# define LLONG_MIN (-LLONG_MAX - 1LL)/* Maximum value an 'unsigned long long int' can hold. (Minimum is 0.) *///有符号长长整形范围# define ULLONG_MAX 18446744073709551615ULL# endif /* ISO C99 */
- Linux数据类型大小
- Linux数据类型大小
- 查看linux下各数据类型的大小
- Linux数据类型大小--->int,char,long int,long long int
- Linux数据类型大小--->int,char,long int,long long int
- C++数据类型及大小
- sql server 数据类型大小
- oracle数据类型大小限制
- 各种数据类型的大小
- VC++数据类型及大小
- ios常见数据类型大小
- 各种语言数据类型大小
- C++数据类型及大小
- 整形数据类型的大小
- C++数据类型大小
- mysql数据类型大小
- C++数据类型的大小
- Java 数据类型大小
- <dlfcn.h>
- 单目摄像机标定程序2
- 新浪api文档
- syslog.h
- lame音频压缩解码(二)之编译事例Demo
- Linux数据类型大小
- CentOS 查看版本
- struts2 国际化
- 大数乘法C++实现
- android selector下的设置背景属性值
- 网络安全知识
- Magento 使用Canonical来使分类页权重集中
- 关于VB的特点
- “我的剑留给能够挥舞它的人”