转自:
http://blog.163.com/zheng_he_xiang/blog/static/186505326201110272018548/
在Linux操作系统下使用GCC进行编程,目前一般的处理器为32位字宽,下面是/usr/include/limit.h文件对Linux下数据类型的限制及存储字节大小的说明。
/* We don't have #include_next. Define ANSI <limits.h> 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~9223372036854775807L,无符号长整型变量取值范围为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 */
分享到:
相关推荐
long int char2long(char* sz) { if (strlen(sz)==0) return 0; long num=0,num2=0; if(strlen(sz)) { for (int i=0;i(sz);i++) { memcpy(&num2,sz+i,1); num2=num2-'0'; num=num*10+num2; } } ...
byte——Byte short——Short int——Integer long——Long float——Float double——Double ... 常用的字符串转化为基本数据类型的方法: Integer.parseInt() Long.parseLong() Double.parseDouble()
在Java中,基本数据类型是指原始的数据类型,它们是用于存储基本数据值的数据类型。Java的基本数据类型包括以下几种: 整数类型:byte、short、int、long 浮点类型:float、double 字符类型:char 布尔类型:...
char ,int,long,float,double,等在64位和32位下分别占多少字节
1.基本数据类型: ①字符类型:char(字符型) 例:‘A’,’b’ ②整数类型:int(整型) 例:4563, 234, 885634 ③浮点类型:float(单精度型)、double(双精度型) 例:3.1456 , 0.9e12 ④空值类型:void(空值型) ⑤布尔...
VC (CString,char,int,long,string,byte...)名种类形间的转换
除void类型外,基本数据类型之前都可以加各种类型修饰符,类型修饰符有如下四种:1.signed—-有符号,可修饰char、int。Int是默认有符号的。2.unsigned—–无符号,修饰int 、char3.long——长型,修饰int 、double4....
举例分析 equals 和 hashcode 方法,hashcode应该怎么样生成 8个基本类型与基本对象的比较:byte与Byte shot与Short int与Integer long与Long float与Float double与Double char与Character
本文研究的主要问题时关于C和C++中的基本数据类型int、long、long long、float、double、char、string的大小及表示范围,具体介绍如下。 一、基本类型的大小及范围的总结(以下所讲都是默认在32位操作系统下): ...
Java八种基础数据类型(如 int、long、char、boolean 等); String字符串; CharSequence字符序列; List列表,List中的所有元素须是前面提到的数据类型,或者是Parcelable类型(这也是本文准备讲解的); Map,Map ...
我最近针对int、long、char、varchar进行了一次性能测试,发现它们其实并没有太大的性能差距: 备注:c8=char(8), s8=varchar(8), i8=(bigint), c4=char(4), s4=varchar(4), i4=char(4) 100w行无索引情况下查询: ...
C语言程 停车场管理问题 #include<stdio.h> #include<stdlib.h> struct { char status; int num; int time; }a; /*命令的结构*/ typedef struct{ int num; int time; }Element; struct { Element *base; Element *...
的8⼤基本数据类型 ⼤基本数据类型 Java8⼤基本数据类型 ⼤基本数据类型 byte(字节型)、short(短整型)、int (整型) 、long(长整型) float(单精度浮点型)、double(双精度浮点型)、boolean(布尔型)、char(字符...
java基本数据类型 ...八类基本数据类型:byte 、short 、int 、long,float 、 double,char,boolean 本资源里面详细介绍了关于java的基本数据类型的分类定义以及使用方法等,有需要的朋友可以下载使用。
答案: 8种基本类型 char byte short int long float double boolean String和他们的区别你从首字母就能看出来了,String的首字母是大写,因为它是一个类,String和8种基本类型的包装类都属于类基本数据类型...
char是C/C++整型数据中比较古怪的一个,其它的如int/long/short等不指定signed/unsigned时都默认是signed。虽然char在标准中是unsigned(因为char类型提出的初衷是用来表示ascii码,ascii码的范围是0~127),但实际...
#数据类型的描述,其中有void,_bool(布尔类型),int , char,double ,long double 等
Java 有8种基本数据类型: byte int short long double float Boolean char byte int short long 都属于整数类型. Double float 属于浮点类型. Boolean 为布尔类型 Char 为字符型 String 不是基本数据类型.它定义的...
一些初学JAVA的朋友可能会遇到JAVA的数据类型之间转换的苦恼,例如,整数和float,double型之间的转换,整数和String类型之间的转换,以及处理、显示时间方面的问下面笔者就开发中的一些体会介绍给大家。 我们知道,...
cpp代码-设计一个数组模板类(myvector),完成对int、char、teacher类型元素的管理。teacher类元素为简单数据类型