常见的数据类型的长度

来源:互联网 发布:歌洛依淘宝旗舰店 编辑:程序博客网 时间:2024/06/05 21:52
几种常见的数据类型包括:int, short int,long int, double,float, char,可以划分数值类(整型、浮点型),字符类,各种数据类的字长一般与机器字长相关联。
1、 int, short int, long int(默认为带符号类型signed):int一般为一个机器字长,short int 为半个机器字长,而在32位机器中,long int 与 int 有一样的字长。所以对于32位机器(比较常见)来说,int ---32位,short int –16位,long int ---32位(在16位机器中亦是)。
2、 float, double float, long double:float通常一个机器字长(32位),double是两个机器字长(64位),long double是三个或四个字长,有时也会市两个机器字长(64位)。
3、 char: 8位,一个字节

C++中数据类型字节数和机器字长关系

      机器字长:是指计算机进行一次整数运算所能处理的二进制数据的位数(整数运算即定点整数运算)。机器字长也就是运算器进行定点数运算的字长,通常也是CPU内部数据通路的宽度。现在一般为32位即4个字节,也有64位和16位的。

     算术类型的存储空间按照机器而定。一般,short类型为半个机器字长,int为一个机器字长,long为1或2个机器字长,float为一个机器字长,double为两个字,long double用3或4个字长。C++标准规定的是每个算术类型的最小存储空间,但其并不阻止编译器用更大的存储空间。如果要保证移植性,尽量用__int16 __int32 __int64吧,或者自己typedef int INT32一下。

数据类型名称字节数别名取值范围int*signed,signed int由操作系统决定,即与操作系统的"字长"有关unsigned int*unsigned由操作系统决定,即与操作系统的"字长"有关__int81char,signed char–128 到 127__int162short,short int,signed short int–32,768 到 32,767__int324signed,signed int–2,147,483,648 到 2,147,483,647__int648无–9,223,372,036,854,775,808 到 9,223,372,036,854,775,807bool1无false 或 truechar1signed char–128 到 127unsigned char1无0 到 255short2short int,signed short int–32,768 到 32,767unsigned short2unsigned short int0 到 65,535long4long int,signed long int–2,147,483,648 到 2,147,483,647long long8none (but equivalent to __int64)–9,223,372,036,854,775,808 到 9,223,372,036,854,775,807unsigned long4unsigned long int0 到 4,294,967,295enum*无由操作系统决定,即与操作系统的"字长"有关float4无3.4E +/- 38 (7 digits)double8无1.7E +/- 308 (15 digits)long double8无1.7E +/- 308 (15 digits)wchar_t2__wchar_t0 到 65,535

(P:指针的大小为定值4个字节)





原创粉丝点击