#include <iostream>
#include <sstream>
#include <bitset>
using namespace std;
int main(){
int n;
cout<<"输入一个数\n";
cin>> n;
cout<<"2进制: "<<bitset<32>(n)<<'\n';
cout<<oct << "8进制: " <<n <<'\n';
cout<<hex << "16进制: " <<n <<'\n';
}
数学方法
#include <iostream>
using namespace std;
int main(){
int iNm,i,j,k,N;
for(iNm=1;iNm<256;iNm++){
cout<<iNm<<'\t';
N=2;
for(i=iNm,j=0; i!=0; i=i/N,j++);
for(;j>0;j--){
for(i=iNm,k=j; k>1 ;i=i/N,k--);
cout<<i%N;
}
cout<<'\t';
N=8;
for(i=iNm,j=0; i!=0; i=i/N,j++);
for(;j>0;j--){
for(i=iNm,k=j; k>1 ;i=i/N,k--);
cout<<i%N;
}
cout<<'\t';
N=16;
int iH;
for(i=iNm,j=0; i!=0; i=i/N,j++);
for(;j>0;j--){
for(i=iNm,k=j; k>1 ;i=i/N,k--);
iH=i%N;
if(iH>9) cout<<char('A'+(iH-10));
else cout<<iH;
}
cout<<'\n';
}
return 0;
}