目前学习了两种方法
①使用while语句
#include<stdio.h>
int main()
{
long long int id;//学号
int k;//要转换为k进制
int rem;//余数
char numb;//十进制以上进制,会出现字母
printf("请输入你的学号:");
scanf_s("%lld", &id);//输入学号
printf("请输入你想要转为的进制:");
scanf_s("%d", &k);//输入进制
while (id != 0)//除到0时结束循环
{
rem = id % k;
if (rem >= 10)//余数大于等于10的情况
{
numb = 'A' + rem % 10;
printf("rem=%c\n", numb);
}
else//余数小于10的情况
{
printf("rem=%d\n", rem);
}
id = id / k;
}
return 0;
}
这是运行结果,倒着读出来就可
②使用位运算
#include<stdio.h>
int main()
{
long long int n=21009201420;
int a;
int i;
for(i=0;i<32;i++)
{
a = n >> (128 - 4 * (n + i)) & 15;
printf("%x", a);
}
return 0;
}
利用了计算机的储存机制