帮忙写一个C++程序,二进制十进制互换

来源:百度知道 编辑:UC知道 时间:2024/06/18 06:41:46
写一个程序能够二进制十进制互换的,即二进制转十进制,十进制转二进制
编译通过+10分

现在提供一个C语言程序给你,可以实现任何进制(1~16)到任何进制的转换的呢?但是是C语言程序的,可以在VC++6.0Sp6上调试通过的,源程序如下:
#include<stdio.h>
#include<math.h>
#include<string.h>
#include<stdlib.h>
void main()
{
int i,j,k,m,n,x,b[20],h[20],c,t;
double d,r,p=0;
char a[20];
printf("请输入一个任意进制的数:");
gets(a);//在头文件<string.h>中定义
printf("请输入此数为何种进制的数:");
scanf("%d",&t);
printf("请输入要转换成的进制(1<N<=16):");
scanf("%d",&n);
m=strlen(a);//求字符串的长度
x=m;
for(k=0,j=0;k<m;k++)//主要是分段,以小数点为界限
{
if(a[k]=='.')
{
x=k;
break;
}
if(a[k]=='-')
j++;
}
for(k=x+1;k<m;k++)//修正输入过程中可能会输入不止一个“.”和“-”的问题
{
if(a[k]=='-')
j++;
if(j>1)//如果其中再次遇到“-”证明输入有误,终止程序
{
printf("ERROR!\n");
exit(0);
}
if(a[k]=='