题目描述
编程输入十进制整数N(N:-32767~32767),请输出它对应的二进制,八进制,十六进制数
输入格式
一个整数N
输出格式
输出一行三个数,分别代表这个数的二进制,八进制,十六进制,通过空格分隔
输入样例 复制
2
输出样例 复制
10 2 2
数据范围与提示
16进制字母用小写表示,如15的16进制为f
完整代码
#include<bits/stdc++.h>
using namespace std;
string trans(int n,int x){
if(n==0) return "0";
int flag=0;
if(n<0){
n=-n;
flag=1;
}
string res;
while(n){
int m=n%x;
string s;
if(m>9){
s='a'+(m-10);
}else{
s=to_string(m);
}
res=""+s+res;
n/=x;
}
if(flag) res="-"+res;
return res;
}
int main(){
//freopen("/config/workspace/test/test","r",stdin);
int n;
cin>>n;
string s1=trans(n,2);
string s2=trans(n,8);
string s3=trans(n,16);
cout<<s1<<" "<<s2<<" "<<s3<<endl;
return 0;
}