计算机技术论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

  • 欢迎访问 计算机技术论坛-电脑迷与初学者的家园!由于论坛管理严格,新注册会员可能遇到各种问题,无法解决的请发邮件 admin@jsjbbs.cn
查看: 3528|回复: 4

进制转换程序代码

[复制链接]
发表于 2009-6-16 08:59:45 | 显示全部楼层 |阅读模式
#include<math.h>
#include<fstream.h>
#include<iostream.h>
#include<stdio.h>
#include<string.h>
void main()
{

int form,num;


char word[100];

s1:cout<<"你输入的数制是(阿拉伯字母,102816:"<<endl;

cin>>form;


if(form!=2&&form!=10&&form!=8&&form!=16)


{



cout<<"err"<<endl;



goto s1;


}


else


{



cout<<"
输入数的位数为:"<<endl;



cin>>num;



cout<<"
请输入需要处理的数:"<<endl;



cin>>word;


}


char quan[100];


int sum=0;


int g;


strcpy(quan,word);


for(int x=0;x<num;x++)


{



if (quan[x]<='9'&&quan[x]>='0')



quan[x]=quan[x]-48;



if (quan[x]<='F'&&quan[x]>='A')



quan[x]=quan[x]-55;


}


//
开始转换成十进制数


for( int a=0;a<num;a++)


{



g=(int) pow(form,(num-1-a));



sum=sum+(quan[a])*g;


}


cout<<"
该数的十进制形式为:"<<sum<<"D"<<endl;


//
计算该数的十进制数形式


char yushu2[100];


int p=0;


p=sum;//
开始转换成2进制数


int b;


for(int j=0;j<100&&sum!=0;j++,sum=sum/2)


{



yushu2[j]=(char)(sum%2+48);



yushu2[j+1]='\0';


}


int m=strlen(yushu2);


cout<<"
该数的二进制数形式为:";


for(b=m-1;b>=0;b--)


{



cout<<yushu2;} //
计算该数的二进制数形式


cout<<"B"<<endl;


char yushu8[100];


int q=0;


q=p;



int d;//
开始转换成8进制数


for(int c=0;c<100&&p!=0;c++,p=p/8)


{



yushu8[c]=(char)(p%8+48);



yushu8[c+1]='\0';


}


int n=strlen(yushu8);


cout<<"
该数的八进制数形式为:";


for(d=n-1;d>=0;d--)


{



cout<<yushu8[d];}


cout<<"Q"<<endl;


char yushu16[100];


int r=q;//
开始转换成16进制数


for(int e=0;e<100&&q!=0;e++,q=q/16)


{


if (q%16<=9&&q%16>=0)


yushu16[e]=(char)(q%16+48);


if (q%16<=15&&q%16>=10)


yushu16[e]=(char)(q%16+55);


yushu16[e+1]='\0';

      

}


int o=strlen(yushu16);


cout<<"
该数的十六进制数形式为:";


for(int f=o-1;f>=0;f--)


{


cout<<yushu16[f];


}


cout<<"H"<<endl;


// return 0;


}
发表于 2009-6-16 13:14:17 | 显示全部楼层
一点都不懂!看来还要多加学习啊
发表于 2009-6-17 11:02:07 | 显示全部楼层
看不懂!
c不好!
得学习啊!
发表于 2009-7-2 21:25:14 | 显示全部楼层
我是菜鸟,看不懂你的资料,希望师傅你下次能有点解释好吗。。。。
发表于 2009-7-6 13:23:09 | 显示全部楼层
能否告知一下代码的算法啊。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

无图版|手机版|计算机技术论坛 JSJBBS.CN @ 2008-2024 ( 鲁ICP备17021708号 )

技术支持 : 北京康盛新创科技有限责任公司

快速回复 返回顶部 返回列表