找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2101|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

16進(jìn)制轉(zhuǎn)2進(jìn)制程序用什么計(jì)算機(jī)語言,如何寫才能最簡(jiǎn)單

[復(fù)制鏈接]
回帖獎(jiǎng)勵(lì) 25 黑幣 回復(fù)本帖可獲得 5 黑幣獎(jiǎng)勵(lì)! 每人限 1 次
跳轉(zhuǎn)到指定樓層
樓主
之前找過16進(jìn)制轉(zhuǎn)2進(jìn)制的程序,沒找著,于是自己寫了一個(gè),小程序不難,但是如果幾種語言作比較的話,哪種語言才是最簡(jiǎn)單的,最簡(jiǎn)單的應(yīng)該怎么寫?能簡(jiǎn)單到什么程度呢?

程序輸出寫了十進(jìn)制十六進(jìn)制和二進(jìn)制,程序見附件


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

  2. using namespace std;
  3. main()
  4. {
  5. int d[50],b[4],sum=0;
  6. char dd[50];            //定義十六進(jìn)制輸入數(shù)組,十六進(jìn)制字符長度最長為50位
  7. cout<<"Enter a num\n";
  8. cin>>dd;
  9. for(int i=0;dd[i]>0;i++)//將輸入的字符轉(zhuǎn)化為十進(jìn)制數(shù)值
  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;//以十進(jìn)制形式輸出
  21. cout<<"H"<<" "<<dd<<endl; //以十六進(jìn)制形式輸出
  22. cout<<"B"<<" ";           //以二進(jìn)制形式輸出
  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. }
復(fù)制代碼

全部資料51hei下載地址:
16to2.rar (861.69 KB, 下載次數(shù): 6)
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表