之前找过16进制转2进制的程序,没找着,于是自己写了一个,小程序不难,但是如果几种语言作比较的话,哪种语言才是最简单的,最简单的应该怎么写?能简单到什么程度呢?
程序输出写了十进制十六进制和二进制,程序见附件
C语言源程序如下:
- #include<iostream>
- using namespace std;
- main()
- {
- int d[50],b[4],sum=0;
- char dd[50]; //定义十六进制输入数组,十六进制字符长度最长为50位
- cout<<"Enter a num\n";
- cin>>dd;
- for(int i=0;dd[i]>0;i++)//将输入的字符转化为十进制数值
- {
- if(dd[i]>=48&&dd[i]<=57)
- d[i]=dd[i]-48;
- else if(dd[i]>=65&&dd[i]<=70)
- d[i]=dd[i]-55;
- else if(dd[i]>=97&&dd[i]<=102)
- d[i]=dd[i]-87;
- cout<<"NO."<<i<<" "<<dd[i]<<" "<<d[i]<<endl;
- sum=sum*16+d[i];
- }
- cout<<"D"<<" "<<sum<<endl;//以十进制形式输出
- cout<<"H"<<" "<<dd<<endl; //以十六进制形式输出
- cout<<"B"<<" "; //以二进制形式输出
- for(;i>0;)
- {
- i--;
- for(int j=0;j<4;j++)
- {
- b[j]=d[i]%2;
- d[i]=(d[i]-b[j])/2;
- }
- for(;j>0;)
- {
- j--;
- cout<<b[j];
- }
- cout<<" ";
- }
- cout<<endl;
- return 0;
- }
复制代码
全部资料51hei下载地址:
16to2.rar
(861.69 KB, 下载次数: 6)
|