C++基本数据类型总结

1、整形ios

一、整形有char、short、int、long、long long,这5个也默认为signed XX ;函数

规则:short至少16位;int至少和short同样;long至少32位,且至少和int同样长;long long至少64位,且至少和long同样长。spa

其中,后面4个都有无符号变体。unsigned short、unsigned int、unsigned long、unsigned long long.
注意,unsigned自己是unsigned int的缩写。

 

能够看到,在32位和64位计算机上,对于整形惟一不一样的就是int和指针的大小,其中32位计算机上int占2字节,64位上占4字节。指针大小和int大小相同。指针

 
二、wchar_t
“char是8位字符类型,最多只能包含256种字符,许多外文字符集所含的字符数目超过256个,char型没法表示。
wchar_t数据类型通常为16位或32位,但不一样的C或C++库有不一样的规定,如GNU Libc规定wchar_t为32位,总之,wchar_t所能表示的字符数远超char型。
标准C++中的wprintf()函数以及iostream类库中的类和对象能提供wchar_t宽字符类型的相关操做。”
 
三、C ++11新增类型:char16_t和char32_t
  char16_t:16位无符号->前缀u表示
  char32_t:32位无符号->前缀U表示
值得注意的是VS2013尚未支持char16_t和char32_t
 
 

2、浮点型对象

浮点有3个,float、double、long double
规则: float至少4字节;double至少6字节,且很多于float;long double至少和double同样多。
3种类型,指数范围至少是-37~37.
一般float32位,double64位,long double80、96或128位。我在VS2013上测到long double位64位。

 

3、前缀和后缀。blog

一、前缀:
0开头表示8进制,0x或0X开头表示16进制。
 
二、后缀:
—— l或L表示long常量
—— u或U表示unsigned int常量
—— ul、uL、Ul、UL、lU、lu、LU、Lu表示unsigned long常量。(lu能够采用任意顺序和大小写表示)
—— ll、LL表示long long 常量。
—— ull、Ull、uLL、ULL表示unsigned long long常量。
 
三、对于浮点常量,
—— f或F表示float
—— l或L表示long double
—— 其余都表示double
 
四、不带后缀时的规则——尽量采用小的类型:
—— 对于10进制:int->long->long long
—— 对于8进制或16进制:int->unsigned int->long->unsigned long->long long ->unsigned long long 

 

参考:《C++ Primer Plus》、百度百科。io

相关文章
相关标签/搜索