整型字面值(常量)是显示地书写常量,如212或71.与C相同,C++能够以三种不同的计数方式来书写整数:基数为10,基数为8和基数为16.在C++中,使用前一(二)类来表示数字常量的基数。
如果第一位是1~9,则基数为10(十进制),如93是以十为基数,如果第一位是0,第二位是1~7,则基数为8,(十六进制),如042是八进制,相当于十进制的34,如果前两位为0X或者0x,则基数为16,(十六进制),如0x42,相当于十进制中的66。对于十六进制,字符a~f和A~F表示了十六进制位,对应于10~15。0xF相当于15,0xA5为165。在默认情况下,cout以十进制格式显示整数。
2、如何使用十六进制和八进制来输出整数呢?
头文件iostream提供了控制符endl用于只是cout进行重起一行,同样,提供了控制符dec,hex和oct,分别用于指示cout用十进制,十六进制和八进制进行输出整数,下面是实际操作:
#include<iostream>
using namespace std;
int main()
{
int chest=42;
int waist=42;
int inseam=42;
cout<<"Monsieur cuts a strinking figure!"<<endl;
cout<<"chest = "<<chest<<"(decimal for 42)"<<endl;
cout<<hex;
cout<<"waist = "<<waist<<"(hexadecimal for 42)"<<endl;
cout<<oct;
cout<<"inseam = "<<inseam<<"(octal for 42)"<<endl;
return 0;
}
下面是运行该程序得到的输出:
Monxieur cuts a struking figure!
chest = 42 (decimal for 42)
waist = 2a (hexadecimal for 42)
inseam = 52 (octal for 42)
诸如cout<<hex;等代码不会在屏幕上显示,只是修改了cout显示整数的方法。注意hex等控制符要在cout之前使用,否则仍然按默认值呈现。