C++基本类型
基本类型介绍
- int:在64位32位操作系统中都是4位
- 指针:64位正好8个字节,32位是四个字节
- wchar_t: 宽字符类型,可以表示char无法表示的范围。
wchar_t bob=L'P';
wcout<<L"tall"
- char16_t,char32_t: c++11新特性,都是无符号,长度分别为16和32, 可以用字符表示,也可以分别用\u 和 \U表示
char16_t ch1=u'q';
char32_t ch2=U'\U0000222B';
- 浮点数:+5.37E+16, 其中E可以为e。float和double的精度分别为7位和16位,即如下:
#include<iostream>
using namespace std;
int main()
{
cout.setf(ios_base::fixed, ios_base::floatfield);
float tub=10.0/3.0;
double mint = 10.0/3.0;
const float million = 1.0e6;
cout<<"tub = "<<tub;
cout<<", a million tubs = "<<million * tub;
cout<<",\n and ten million tubs = ";
cout<<10 * million * tub<<endl;
cout<<"mint = "<<mint<<"and a million mints = ";
cout<<million * mint<<endl;
float a = 2.34E+22f;
float b = a + 1.0f;
cout<<"a = "<<a<<endl;
cout<<"b - a = "<<b - a<<endl;
return 0;
}
//结果:
tub = 3.333333, a million tubs = 3333333.250000,
and ten million tubs = 33333332.000000
mint = 3.333333and a million mints = 3333333.333333
a = 23400001102275227418624.000000
b - a = 0.000000
- 在float的第七位之后,就失效了,所以b-a=0
进制表示
cout默认是十进制,用dec、hex和oct分别表示十进制,十六进制和八进制的表示。
#include<iostream>
using namespace std;
int main()
{
cout<<"八进制(032):"<<032<<endl;
cout<<"十六进制(0x32):"<<0x32<<endl;
cout<<"十进制(32):"<<32<<endl;
int a=42;
cout<<"a: "<<a<<endl;
cout<<dec;
cout<<"a:"<<a<<endl;
cout<<hex;
cout<<"a: "<<a<<endl;
cout<<oct;
cout<<"a: "<<a<<endl;
return 0;
}
结果如下:
八进制(032):26
十六进制(0x32):50
十进制(32):32
a: 42
a:42
a: 2a
a: 52