您的位置:首页 > 其它

十进制数转换为2进制、十进制数转换为8进制、十进制数转换为16进制

2017-12-15 16:04 190 查看
环境:win10,vs2013

此文用来把一个十进制整数转换为一个输入的进制(最大为十六进制)所对应的的数,即就是输入十进制数可以转换为任意进制

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
void translate(long num, int transformRight)
{
int number[16] = { '0', '1', '2', '3', '4', '5', '6', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' };
int numIndex[8];
int i = 0;
while (num>0 && i<8)
{
numIndex[i] = num%transformRight;//存放余数
num /= transformRight;//变化"num"的值
i++;

}
for (i -= 1; i >= 0; i--)//逆序输出余数(即就是运算后的结果)
{
switch (numIndex[i])
{
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:printf("%d", numIndex[i]); break;
case 10:printf("a"); break;
case 11:printf("b"); break;
case 12:printf("c"); break;
case 13:printf("d"); break;
case 14:printf("e"); break;
case 15:printf("f"); break;
}

}
printf("\n");
}
int main()
{
int num, transformRight;
printf("请输入要转换的进制\n");
scanf("%d", &transformRight);
printf("请输入要转换的数(八位以内)\n");
scanf("%d", &num);
printf("结果是:");
translate(num, transformRight);
system("pause");
return 0;
}






内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: