进制转换
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 4408 Accepted Submission(s): 2487
Problem Description
输入一个十进制数N,将它转换成R进制数输出。
Input
输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16, R<>10)。
Output
为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。
Sample Input
7 2 23 12 -4 3
Sample Output
111 1B -11
#include<stdio.h> void f(int n,int r) { if(n>=r)f(n/r,r); if(n%r<10)printf("%d",n%r); else { switch(n%r) { 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; case 16:printf("G");break; } } } int main() { int n,r; while(scanf("%d %d",&n,&r)!=EOF) { if(n<0) { printf("-"); n=-n; } f(n,r); putchar(10); } return(0); }
附:
/*任意进制向任意进制转换 两个进制数的范围都在2-20之间 */ #include<stdio.h> #include<string.h> #include<math.h> char tostr(int n) { if(n>9) return (char)(n+'A'-10); else return (char)(n+'0'); } int main() { int M,N,i,k,sum,s=0; char t[128]; printf("input the M and N ( M-->N ): "); while(scanf("%d%d",&M,&N)!=EOF) { getchar(); sum=0; printf("\nenter the newnumber : "); gets(t); k=strlen(t); for(i=0;i<k;i++) { sum+=((int)(t[i]>'9'?(t[i]+10-'A'):(t[i]-'0'))*(int)(pow(M,k-i-1))); } char str[100]={0};i=0; while(sum>0) { s=sum%N; str[i]=tostr(s); sum/=N; i++; } int t=i-1; printf("\nthe result is : "); while(t>=0) { printf("%c",str[t]); t--; } printf("\n\ninput the M and N ( M-->N ): "); } return 0; }
相关推荐
压缩包内的文件`进制转换update.c`可能包含了对原有代码的更新或改进,`进制转换toInt.c`可能是一个专门用于将其他进制转换成整数的函数,而`进制转换.c`则可能是整个进制转换功能的核心源文件。 在C语言中实现进制...
进制转换进制转换进制转换进制转换进制转换进制转换进制转换进制转换进制转换进制转换进制转换进制转换进制转换进制转换进制转换进制转换进制转换进制转换进制转换进制转换进制转换进制转换进制转换进制转换进制转换...
在编程领域,进制转换是一项基础且重要的技能。VB(Visual Basic)作为一款经典的编程语言,提供了丰富的功能来实现不同进制之间的转换。本篇主要介绍如何使用VB进行二进制、八进制、十进制和十六进制之间的转换。 ...
在计算机科学中,数据的表示和计算经常涉及不同的进制转换。栈作为一种基本的数据结构,其特点是后进先出(LIFO),在处理这类问题时展现出高效性。本主题将详细探讨如何使用栈来实现进制转换,特别是从十进制到二...
在IT领域,进制转换是一项基础且重要的技能,特别是在编程中。本文将深入探讨标题为“常用进制转换程序”的项目,它支持二进制、十六进制、十进制和64进制之间的相互转换。这个程序是用C++语言编写的,这使得它在...
在编程领域,进制转换是一项基础且重要的技能。本文将深入探讨如何使用C++语言实现任意进制转换,特别是涉及到小数部分的处理,并结合数据结构中的栈和队列进行阐述。C++作为一门强大的静态类型语言,其丰富的库支持...
在编程领域,进制转换是一项基础且重要的技能,特别是在C++这样的编程语言中。本教程将深入探讨如何利用C++实现十进制、二进制、八进制和十六进制之间的转换。这些转换在处理计算机数据、内存表示以及网络通信等方面...
汇编课程设计模板-进制转换,其中包括十进制和二进制之间互相转换,十六进制和十进制之间互相转换,十六进制和二进制之间互相转换,界面友好,有大量的注释,是一篇非常优秀的汇编课程设计!其中包括源代码和报告。...
《Visual Studio课程实践:进制转换器》 在IT领域,开发工具的选择至关重要,而Microsoft的Visual Studio无疑是其中的佼佼者。对于初学者来说,掌握Visual Studio的使用不仅可以提升编程技能,还能为后续的软件开发...
进制转换是计算机科学中的基础概念,涉及到二进制、八进制、十进制和十六进制等不同数字系统间的转换。理解并熟练掌握这些转换对于编程,尤其是低级别语言如C和C++的编程至关重要。在这个压缩包中,包含的可能是用于...
在“汇编课程设计模板-汇编语言”中,你可以找到实际的代码示例,这些示例演示了如何用汇编语言编写程序来实现进制转换。通过分析和理解这些代码,可以加深对汇编语言和进制转换原理的理解。 总结,这个课程设计...
在进制转换器中,可能使用模板来创建一个可以处理不同类型数字(如int、long、double等)的通用转换函数。 3. **成员函数关系**: 在C++中,类的成员函数定义了对象的行为。在这个项目中,成员函数可能包括用于读取...
在"易语言源码26进制转换.rar"这个压缩包中,我们主要讨论的是一个易语言实现的26进制与十六进制之间的转换程序。 26进制是一种基于26个字母的计数方式,通常用A到Z这26个字母来表示数字,其中A代表1,B代表2,...
"二进制转换工具plus"是一款针对二进制数据处理的升级版软件,它能够处理32位的数据,提供了一套全面的二进制转换功能。这个工具在原有基础上进行了优化和增强,使得用户在处理二进制数据时更加便捷高效。通过这款...
本文将深入探讨进制转换,以及如何利用Visual Studio 2008和VB.NET实现这一功能。 首先,我们来理解进制的基本概念。进制是计数系统的基础,其中最常见的是十进制,也就是我们日常生活中的数制,每一位的权重是10的...
3. **编程实现**:如何使用C++编程实现多进制转换功能,包括数据类型选择、进制转换函数的编写等。 4. **用户输入处理**:键盘事件的捕获和处理,确保用户能够通过键盘输入数字进行计算。 5. **图形用户界面 (GUI)**...
本话题将深入探讨如何使用MFC进行进制转换,特别是将十进制数转换为十六进制和二进制。 首先,我们需要了解进制转换的基本概念。进制是计数的一种方式,如我们常见的十进制(基数为10)、二进制(基数为2)和十六...
进制转换计算器是一种实用工具,它能够帮助用户将一个特定进制的数字转换为其他进制,例如从二进制转换为十进制,或从十进制转换为十六进制。这种计算器通常包含多种控件,以实现用户友好的交互。 在本例中,进制...
- 使用预处理宏或模板可以提供编译时的进制转换,进一步提升效率。 6. **错误处理**: - 当输入数据无效(如非数字字符、超出进制范围等)时,函数应抛出异常或返回错误代码,以便调用者能够适当地处理错误。 7....