前篇文章里,我们用cout和cin输出输入数据时,全部使用了系统默认的格式。实际上,我们也可以对输入和输出格式进行控制。
例如可用不同进制的方式显示数据,这时就要用设置转换基数的操纵符dec, hex和 oct。
①dec:把转换基数设置为十进制;
②hex: 把转换基数设置为十六进制;
③oct:把转换基数设置为八进制。
hex 本身来自古希腊语的 ἕξ (hex),表示六。加上 decimal(源自拉丁语的“十”)才是十六。于是表十六的 hex 只是个缩略用语
关于dec和oct我们可以联想到月份的单词:December(十二月)October(十月),他们的简写也是dec和oct,这是为什么呢?
因为在拉丁语里dec和oct本来就分别是十和八的意思,但是英文的月份命名来源,都是为了纪念一些伟大的人,曾经一年规定是十个月,后面改成十二个月,就在前面加了两个新的月份,于是代表十的dec和八的oct就自动往后两个月份了。
默认的转换基数是十进制。请看下面的例子:
程序运行结果:
19 25 31
分别代表十六进制的25、十进制的25及八进制的25。
流操作符号std::endl:在C中,常用'\n'实现换行,C++中增加了换行操纵符endl,其作用与'\n'一样。例如以下两个语句的操作是等价的:
cout<<"x= "<<x<<endl;
cout<<"x= "<<x<<'\n';
但endl速度比"\n"慢 endl是再刷新流所以很慢