1256: 【入门】正整数n转换为16进制(1289)
内存限制:16 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:10
解决:6
题目描述
请从键盘读入一个非负整数n(n是一个不超过18位的正整数),将n转换为16进制!
注意:16进制即逢16进1,每一位上可以是从小到大为0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F共16个大小不同的数,即逢16进1,其中用A,B,C,D,E,F这六个字母来分别表示10,11,12,13,14,15。
如:60的十六进制为3C。(字母请用大写)
输入
一个不超过18位的非负整数n
输出
该数的十六进制值
样例输入 复制
100000000000
样例输出 复制
174876E800
提示
#include<bits/stdc++.h>
using namespace std;
long long n,x;
string s;
char c;
int main(){
cin>>n;
while(n!=0){
x=n%16;
//cout<<x<<endl;
//将x转换为字符逆序存入字符串s
//x:0~9 -> '0'~'9'
//x:10-15 -> 'A'~'F'
if(x<10){
c=x+'0';
}else{
c=x-10+'A';
}
s=c+s;
n=n/16;
}
if(s==""){
cout<<0;
}else{
cout<<s;
}
return 0;
}
#include<bits/stdc++.h>
using namespace std;
long long n,x;
/*
n是一个不超过18位的正整数
*/
string s;
string t="0123456789ABCDEF";
int main(){
cin>>n;
while(n!=0){
x=n%16;
//cout<<x<<endl;
//将x转换为字符逆序存入字符串s
//x:0~9 -> '0'~'9'
//x:10-15 -> 'A'~'F'
s=t[x]+s;
n=n/16;
}
if(s==""){
cout<<0;
}else{
cout<<s;
}
return 0;
}