欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

C语言实现十进制数转换为二进制和十六进制

程序员文章站 2022-03-08 15:52:23
...

思路:输入十进制数num,num对2/8/16取余,每一次的余数存放在arr[32]数组中,最后需要倒序输出数组的内容。

注意:十进制转换为十六进制时,要对每一次的余数进行判断,如果>9,则需要输出对应的大写字母A-E——10-15

int main()
{
	int y = 0, num, x;      //num为输入的十进制数字,x为目标进制类型
	int arr[32] = { 0 };  //存放每一次余数的数组
	printf("请输入你要转换的十进制数num和转的换的目标进制x:");
	scanf("%d %d", &num, &x);
	while (num != 0)   //当num不等于0 时进入循环
	{
		y++;   
		arr[y] = num % x;
		num = num / x;
		if (arr[y] > 9)
		{
			arr[y] = 'A' + (arr[y] - 10);  //对余数的判断  主要针对16进制
		}
		else
		{
			arr[y] = arr[y] + '0';
		}
	}
	for (int i = y; i > 0; i--)  //倒序输出数组
	{
		printf("%c", arr[i]);
	}
	system("pause");
	return 0;
}