找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1754|回复: 0
收起左侧

16进制转2进制程序用什么计算机语言,如何写才能最简单

[复制链接]
回帖奖励 25 黑币 回复本帖可获得 5 黑币奖励! 每人限 1 次
ID:373270 发表于 2019-7-18 12:31 | 显示全部楼层 |阅读模式
之前找过16进制转2进制的程序,没找着,于是自己写了一个,小程序不难,但是如果几种语言作比较的话,哪种语言才是最简单的,最简单的应该怎么写?能简单到什么程度呢?

程序输出写了十进制十六进制和二进制,程序见附件
QQ图片20190718122252.png

C语言源程序如下:
  1. #include<iostream>

  2. using namespace std;
  3. main()
  4. {
  5. int d[50],b[4],sum=0;
  6. char dd[50];            //定义十六进制输入数组,十六进制字符长度最长为50位
  7. cout<<"Enter a num\n";
  8. cin>>dd;
  9. for(int i=0;dd[i]>0;i++)//将输入的字符转化为十进制数值
  10. {
  11.   if(dd[i]>=48&&dd[i]<=57)
  12.   d[i]=dd[i]-48;
  13.   else if(dd[i]>=65&&dd[i]<=70)
  14.    d[i]=dd[i]-55;
  15.   else if(dd[i]>=97&&dd[i]<=102)
  16.    d[i]=dd[i]-87;
  17.   cout<<"NO."<<i<<" "<<dd[i]<<" "<<d[i]<<endl;
  18.   sum=sum*16+d[i];
  19. }
  20. cout<<"D"<<" "<<sum<<endl;//以十进制形式输出
  21. cout<<"H"<<" "<<dd<<endl; //以十六进制形式输出
  22. cout<<"B"<<" ";           //以二进制形式输出
  23. for(;i>0;)
  24. {
  25.   i--;
  26.   for(int j=0;j<4;j++)
  27.   {
  28.    b[j]=d[i]%2;
  29.    d[i]=(d[i]-b[j])/2;
  30.   }
  31.   for(;j>0;)
  32.   {
  33.    j--;
  34.    cout<<b[j];
  35.   }
  36.   cout<<" ";
  37. }
  38. cout<<endl;
  39. return 0;
  40. }
复制代码

全部资料51hei下载地址:
16to2.rar (861.69 KB, 下载次数: 6)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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