输入一个十进制数,输出该数的二进制数,八进制数和十六进制数。

如题所述

第1个回答  2014-09-22
#include<iostream>
using namespace std;
int main()
{
int a,b,c,d;
cout<<"请输入待转换的数:";
cin>>a;
//二进制分别计算每一位
if(a==0)cout<<a;
b=a;c=0;d=1;
while(b!=0)
{
c+=(b%2)*d;//依次把b除以2的余数写在c的对应位置上
b=b/2;
d*=10;
}
cout<<c<<endl;
//八进制和十六进制使用格式化输出即可,oct表示八进制,hex表示十六进制
cout<<oct<<a<<endl;
cout<<hex<<a<<endl;
}

参考:http://zhidao.baidu.com/link?url=XR21eBWkgfEav2K6KBq_oXMrB7gjueN42HzP8Sl120BUVyiCxaSuWw0uT1bYFK2iE6C2opmZsSGlf-2i1nPfcq