大家好,我是屁孩君,拖更这么久是时候来换债了,呜呜呜呜呜,实在是太忙了,只能水一篇了!wwwwwwwwwwwwwwwwwwwww!
那我的算法呢就是定义一个字符数组,里面存着十六进制的字符,把十进制数不断取余16,把每次的余数当做下标,再用字符串去加上此下标的字符就行了!(有点乱 )
一步一步来吧
1.定义字符数组
char b[17]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
2.把十进制数不断取余16,把每次的余数当做下标,再用字符串去加上此下标的字符
while(n!=0)
{
a=b[n%16];
s=a+s;
n/=16;
}
3.判断是否为0
if(u!=0)cout<<s<<endl;
else cout<<'0'<<endl;
话不多说,直接上完整代码
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long n;
char b[17]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};//1.定义字符数组
cin>>n;
int u;
u=n;
char a;
string s="";
while(n!=0)//把十进制数不断取余16,把每次的余数当做下标,再用字符串去加上此下标的字符
{
a=b[n%16];
s=a+s;
n/=16;
}
if(u!=0)cout<<s<<endl;//判断是否为0
else cout<<'0'<<endl;
return 0;
}
好了,今天屁孩君就水到这里了,什么玩意儿!
好了,今天屁孩君就分享到这了!
古德拜!
记得一键三连哦!!!