基本信息
源码名称:C++ 十进制转换 示例代码下载
源码大小:1.45KB
文件格式:.cpp
开发语言:C/C++
更新时间:2017-02-07
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):78630559
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
进制之间转换
进制之间转换
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<stdlib.h>
int convert(char a) //转换函数
{
if (a >= '0' && a <= '9')
{
return a - '0';
}
else if (a >= 'A' && a <= 'F')
{
return a - 'A' 10;
}
else if (a >= 'a' && a <= 'f')
{
return a - 'a' 10;
}
else
{
return -1;
}
}
int main(void)
{
int q, r, n; //q为输入进制,r为输出进制,n为你输入的数字
printf("你输入的进制:");
scanf_s("%d", &q); //输入进制
printf("你输出的进制:");
scanf_s("%d", &r); //输出进制
int i, j, k = 0, c = 0;
char str[80]; //定义一个数组
char *p; //定义一个指针
printf("请输入一个数字:");
scanf_s("%s", str, 80); //输入一个数字
p = str; //定义指针
if (str[0] == '-') //判断符号
printf("-"); //当输入数字负时,输出一个符号
while (*p) //将输入的q进制数字转换成十进制
{
i = convert(*p);
if (i >= 0)
{
k = k *q i;
}
p ;
}
int a[2000];
n = k; //n为转换成十进制后的整数
i = 0;
while (n>0) //把十进制数转换成r进制
{
a[i ] = n%r;
n /= r;
}
for (i -= 1; i >= 0; i--) //输出转换完的数字
printf("%X", a[i]);
printf("\n"); //换行
system("pause"); //终止
return 0;
}