在C++的整数常量中,整数分为十进制整数、八进制整数和十六进制整数。
那给出一个整型常量怎样区分是何种进制呢?/给出一个整型常量,如100,默认是十进制数,如果在该数前加0,如0100,则此数表示为八进制数,如果在该数前加0x,如0x100,则此数表示为十六进制数。
使用cout输出一个整数时,默认按十进制进行输出,如果想让该数按八进制或十六进制进行输出,需要使用输出格式控制符。/如果使用格式控制符,要包含头文件iomanip。
十进制的输出格式控制符为dec(默认使用),八进制的格式控制为oct,十六进制的格式控制符为hex。
以下是程序示例
//不同进制整数的使用
//给出一个整型常量,如100,默认是十进制数,
//如果在该数前加0,如0100,则此数表示为八进制数
//如果在该数前加0x,如0x100,则此数表示为十六进制数
//使用cout输出一个整数时,默认按十进制进行输出,
//如果想让该数按八进制或十六进制进行输出,需要使用输出格式控制符
//如果使用格式控制符,要包含头文件iomanip
//十进制的输出格式控制符为dec,八进制的格式控制为oct,十六进制的格式控制符为hex
#include <iostream>
#include <iomanip> //包含输出格式控制头文件
using namespace std;
int main()
{
cout<<"以下整数的输出都按十进制进行"<<endl;
int a; //整型a
a=11; //给赋一个十进制整数值
cout<<"after a=11(十进制11), a="<<a<<"(十进制)"<<endl;
a=011; //给赋一个八进制整数值
cout<<"after a=011(八进制11), a="<<a<<"(十进制)"<<endl;
a=0x11; //给赋一个八进制整数值
cout<<"after a=0x11(十六进制11), a="<<a<<"(十进制)"<<endl<<endl;
cout<<"以下整数的输出按输出格式控制符指定的进制进行"<<endl;
a=11; //给赋一个十进制整数值
cout<<"after a=11(十进制11), a="<<dec<<a<<"(十进制)"<<endl;
a=011; //给赋一个八进制整数值
cout<<"after a=011(八进制11), a="<<oct<<a<<"(八进制)"<<endl;
a=0x11; //给赋一个八进制整数值
cout<<"after a=0x11(十六进制11), a="<<hex<<a<<"(十六进制)"<<endl;
return 0;
}
运行结果
原文链接: https://www.cnblogs.com/beautiful-code/p/5239503.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/229498
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!