當前位置:係統粉 > 電腦問答 > 其他問答 > 幫幫我看一個C的問題。

幫幫我看一個C的問題。

提問者:love赤堤桃子  |  瀏覽 次  |  提問時間:2017-02-08  |  回答數量:3

牋牋編程實現輸入一個8位的二進製數,將其轉換為十進製數輸出。將二進製轉換為十進製,隻要將二進製數的每一位乘以該位的權然後相加。例如:000011012 = 0(27) + 0(26) + 0(25) + 0(24) + 1(23) + 1(22) + 0(21) + 1(20)= 1310 要求定義一個求x的n次方的函數power。(注:不能調用係統函數,而是自己實現)。在主函數中輸入二進製數(如:000011012),調用自定義的power函數實現轉換,並輸出結果。幫幫忙

已有3條答案
天天無限吧務組

天天無限吧務組

回答數:68  |  被采納數:106

2017-02-08 09:21:42
二進製轉10進製不需要power#include "string.h"#include "stdio.h"void main(){ char str[]="10101110"; int value=0; int len=strlen(str); for(int i=len-1;i>=0;i--) { value|=((str[i]-&#39;0&#39;)<<(len-1-i)); } printf("%d",value);}複製代碼要power也可以int power(int n){return 1<<n;}void main(){char str[]="10101110";int value=0;int len=strlen(str);for(int i=len-1;i>=0;i--){if(str[i]-&#39;0&#39;){ value+=power(len-1-i);}}printf("%d",value);}複製代碼
讚 6
槿年nnnn

槿年nnnn

回答數:207  |  被采納數:16

2017-02-08 14:32:19
55 (1) 還有其他更簡單的麼。。看不懂上麵的程序。。指針沒學到
讚 20
櫻yig

櫻yig

回答數:154  |  被采納數:95

2017-02-08 12:15:43
2的N次方也就是1<<N,str[ i]-&#39;0&#39;可以把字符轉成int類型的0或1,所以0(27) + 0(26) + 0(25) + 0(24) + 1(23) + 1(22) + 0(21) + 1(20)=0+0+0+0+1<<23+1<<22+0+1<<20
讚 15
解決方法
  • 微軟的MR跟VR有啥區別?這個設備幫你先看一步

    微軟的MR跟VR有啥區別?這個設備幫你先看一步

    近幾年AR/VR技術作為未來最炙手可熱的技術之一被廣大的廠商和用戶所追捧,不計其數的行業元老,IT巨頭傾盡全力投身VR虛擬現實。最早的VR隻存在於設計師的腦海裏,如今的VR卻已經可...

  • 作業幫如何查看課程 作業幫查看課程的方法

    作業幫如何查看課程 作業幫查看課程的方法

    今天給大家帶來作業幫如何查看課程,作業幫查看課程的方法,讓您輕鬆解決問題。作業幫課程查看方法,作業幫課程怎麼查。像學習上遇到的很多,很多都是用寫是表達不清楚的,隻有用說方能表達。...

  • 高手幫你電腦沒有聲音的問題

    高手幫你電腦沒有聲音的問題

      電腦沒聲音看似簡單,其實有時問題比較複雜,既涉及到硬件方麵的問題又涉及到軟件方麵的問題 因此,要先查明原因,看是軟件還是硬件出了故障,然後針對問題對症下藥 千萬不能原因不明...

  • 善用Win7幫助和支持 係統問題全搞定

    善用Win7幫助和支持 係統問題全搞定

    善用Win7幫助和支持 係統問題全搞定      被搜索引擎慣壞的用戶,遇到任何問題都會首先想去“百度一下”。這雖然很...

版權信息

Copyright @ 2011 係統粉 版權聲明 最新發布內容 網站導航