标签:形式 应用 float 负数 十六进制 需要 sig 参与 end
C++的基本内置类型包含空类型和算术类型。
算术类型包含:字符类型、整型数、浮点值、布尔值。
算术类型分为两大类:整型,包含字符和布尔类型在内;浮点型。

char 的大小和一个机器字节一样。wchar_t 确保可以存放机器最大扩展字符集中的一个字符。char16_t、char32_t 为 Unicode字符集服务。int 至少和 short 一样大。long 至少和 int 一样大。long long 至少和 long 一样大,long long 是C++11新定义的。float 以1个字表示,double 以两个字表示,long double 以3个或者4个字表示。除了布尔类型和扩展的字符类型之外,其它整型可以划分为带符号和无符号的。
字符型分为三种:char、signed char、unsigned char。但是表现形式只有两种:带符号的,无符号的。char 类型具体是上述两种类型中的哪一种由编译器决定。
short 常常显得更小,long 一般和 int 拥有一样的尺寸,如果数值超过了 int,选用long long。char 类型,一定要明确指出是 signed char 还是unsigned char。double,这是因为 float 通常精度不够并且双精度浮点和单精度浮点在计算代价上相差无几,甚至在一些机器上双精度要比单精度更快。long double 提供的精度通常是不必要的,而且它带来的运行时消耗也比较大。对象的类型定义了对象能包含的数据和能参与的运算。类型转换是大多数类型所支持的运算。
当程序在某处使用一种类型,而实际上应该使用另一种类型的时候,程序会自动进行类型转换。
类型所能表示的范围决定了转换过程:
false,否则结果为 true。false 则结果为0,初始值为 true 则结果是1。-1 赋值给 unsigned char 类型,其结果将是255。unsigned u = -10;
cout<<u<<endl; //相当于u + UINT_MAX + 1
unsigned u = UINT_MAX;
int i = u;
cout << i << endl; //相当于 u - (UINT_MAX+1)
unsigned u = 10;
int i = -42;
cout << i + u << endl; //UINT_MAX + 1 - 42 + 10
注意:
无符号数错误的使用在循环语句中,导致死循环:
for(unsigned u=10;u>=0;u--)
{
....
}
int、long 、long long 中尺寸最小的那个,前提是这种类型包含当前值。int、unsigned int、long、unsigned long、long long、unsigned long long。double 类型。char 型字面值,双引号括起来的是字符串字面值。cout << "I am so happy,"
"today" << endl;
两类字符程序员不能直接使用:
对于以上两种强开,需要用到转义序列,转义序列都是以反斜线开始:

也可以使用泛化的转义序列,其形式是 \x 后紧跟一个或者多个十六进制数,或者 \ 后紧跟一个、两个、三个八进制数字,其中数字部分表示的字符对应的数值,

注意:
\ 后面跟着的八进制数字超过3个,只有前3个数字与 \ 构成转义序列。
true 和 false 是布尔字面值。nullptr 是指针字面值。标签:形式 应用 float 负数 十六进制 需要 sig 参与 end
原文地址:https://www.cnblogs.com/xiaojianliu/p/12498673.html