基本信息
源码名称:C++ 十进制转换 示例代码下载
源码大小:1.45KB
文件格式:.cpp
开发语言:C/C++
更新时间:2017-02-07
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 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;
}