在C++中,默认状态下,数据按十进制输入输出。如果要求按八进制或十六进制输入输出,在cin或cout中必须指明相应的数据形式,oct为八进制,hex为十六进制,dec为十进制。但是二进制没有默认的输出格式,需要自己写函数进行转换。
输入整数n , 则在C++中cout<<hex<<n; cout<<oct<<n; cout<<dec<<n; 会分别将整数n以十六进制、八进制和十进制的形式输出
代码注解
#include <iostream>
#include <bitset>
using namespace std;
int main(void)
{
int i,j,k,l;
cout<<"Input i(oct),j(hex),k(hex),l(dec):"<<endl;
cin>>oct>>i; //输入为八进制数
cin>>hex>>j; //输入为十六进制数
cin>>k; //输入仍为十六进制数
cin>>dec>>l; //输入为十进制数
cout<<"hex:"<<"i = "<<hex<<i<<endl;
cout<<"dec:"<<"j = "<<dec<<j<<'\t'<<"k = "<<k<<endl;
cout<<"oct:"<<"l = "<<oct<<l;
cout<<dec<<endl; //恢复十进制数输出状态
return (0);
}