用c語言編寫二進位制轉換十進位制的程式

2021-03-26 07:04:02 字數 4571 閱讀 3968

1樓:依然特雷西

1、為了完成進位制的轉換,在主函式中宣告瞭個函式sum,主要用於將二進位制的每一位轉換為十進位制後的數相加,返回值就是相加後的和。另外定義了一個陣列array[8],用於存放輸入的八位二進位制數。

2、然後使用了一個for迴圈語句,用於輸入八位二進位制數。

3、在sum函式中,又宣告瞭一個power函式,power函式的作用是求2的n次方。

4、接著,使用了一個for迴圈語句,i用於控制迴圈的次數,n從最高的指數7開始每次迴圈減一,如果指數大於或等於零的,就進行迴圈。

5、在power函式中,如果b等於零,即指數為零,則返回1,否則就進入一個迴圈,j用於控制迴圈次數,有疑問的可以用筆算算乘2的個數對不對,最後將i返回。

6、最後看一下執行的結果。

2樓:匿名使用者

一下兩個程式均在vc在編譯通過。

/*如果這個二進位制數比較大的話, 大到只能用陣列儲存這個二進位制數,當然如果大到轉化成10進位制int存不下的情況那另當別論*/#include

#include

int main()

printf("%d\n", num);

return 0;}/*

如果這個二進位制數的位數不超過10位的話

可用這個程式

*/#include

int main()

printf("%d\n", num);

return 0;}

3樓:匿名使用者

#include

#include

#include

#include

//bin二進位制串

//返回其對應的十進位制數

//返回-1表示失敗

//end表示終止位置

unsigned bintodec(char *bin,char **end)

i = strlen(bin);

*end = bin+i;

while(i>=0)

else if(*(bin+i) == '0')else

i--;

}return dec;

}int main(int argc,char *argv)

4樓:zz迎風

#include

#include

void main()

for(t=0;i>=0;i--)

}printf("%d\n",s);}

如何使用c語言編寫二進位制轉換為十進位制的程式

5樓:騰訊電腦管家

#include

int main()

printf("二進位制為:");

i--;

for(;i>=0;i--)

printf("%d",b[i]);

printf("\n");

break;

case 2:

while(a!=0)

i--;

for(;i>=0;i--)

c=c*2+b[i];

printf("十進位制為:%d\n",c);

break;}}

6樓:zz迎風

#include

#include

void main()

for(t=0;i>=0;i--)

}printf("%d\n",s);}

c語言把二進位制數轉換成十進位制數的程式怎麼寫。

7樓:幻翼高達

需要bai準備的材料分別有:電腦、duc語言編譯器zhi。

1、首先,開啟daoc語言編譯器,新建一

回個初始答.cpp檔案,例如:test.cpp。

2、在test.cpp檔案中,輸入c語言**:int a = 0b10000001;printf("%d", a);。

3、編譯器執行test.cpp檔案,此時輸入的8位二進位制數被成功用十進位制進行了輸出。

8樓:_死_性_不_改

按照如下步驟即可用c語言把二進位制數轉換成十進位制數的程式:

1、首先在主內函式中設定成容函式sum,另外定義了一個陣列array[8],用於存放輸入的八位二進位制數。

2、然後使用了一個for迴圈語句,用於輸入八位二進位制數。在scanf函式裡,在%d之間加一個1,然後使用printf函式輸出,並且呼叫sum函式,陣列名作為實參。

3、在sum函式中,宣告瞭一個power函式,在這裡n為指數,term為每一位數轉換為十進位制後的的數,如1*(2*2),sum為總和。

4、然後使用一個for迴圈語句,i用於控制迴圈的次數,n從最高的指數7開始每次迴圈減一,如果指數大於或等於零的,就進行迴圈,呼叫power函式時,將n作為實參,最後將和返回。

5、在power函式中,如果b等於零,即指數為零,則返回1,否則就進入一個迴圈,j用於控制迴圈次數。

6、最後看一下執行結果,這個c語言程式既可以把二進位制數成功轉換成十進位制數了。

9樓:匿名使用者

#include

int main()

// wut infomation school of engineering;

10樓:小八

隨便輸入一抄

個2進位制bai

#include

#include

int main()

else

11樓:匿名使用者

#include

unsigned bintodec(char *a)

main()

12樓:

用位移.

10000001 == (1<<7)+1=128+1=129

用c語言程式設計實現十進位制轉化為二進位制 5

13樓:夏天的小紅花

有兩種計算方法,執行的結果是完全相同的:

一是採用位運算的方法:

#include

int main()

if(k==1)

for(i=0;i<32;i++)

printf("%d",a[i]);

return 0;}

如何利用c語言編寫程式將一個十進位制數轉換為二進位制?

14樓:匿名使用者

網上看了很多,下面這個最贊

#include

void showbit(int n)

printf("%d",n%2);

}int main

參考裡面還有其他進位制的轉換,都是利用迭代演算法

15樓:龐綺琴

#include

void change(int x)

change(x>>1);

printf("%d",x&1);

}int main()

如何用c語言編寫將十進位制的數轉換成二進位制數的程式

16樓:

簡單辦法是用聯合體,直接列印出來。

typedef union dandb dandb;

int main()

===手工計算,要不斷除2取餘,獲得所有位,再列印出來。

程式設計 c語言二進位制怎麼轉化為十進位制?

17樓:匿名使用者

int fun(int j);

void main()

cout << dec << endl;

}int fun(int j)

return ji;

}這個zhi是比較簡單易懂的函式,dao看看吧。專當然可以用另屬一種方法,就是新手會比較容易暈。

18樓:匿名使用者

#include

#include

#include

int bintodec(char *bin)void main()

19樓:匿名使用者

舉個例子吧 例如二進位制數1110 0101 那麼轉化為十進位制為多少呢?答案為229.

怎麼算的呢? 將每為的數乘以2的n-1次方再相加,n為第幾位;1+0+4+0+0+32+64+128=229

20樓:匿名使用者

vc環境下用

源c++實現bai

#include

using namespace std;

void main()

cout<<"轉換成dao的十進位制數:"<

cout<

21樓:匿名使用者

首先判斷輸入的是不是一個合法的二進位制數,個人覺得輸入用字元型輸入,再將其強制轉化為數值型計算,程式不難

22樓:匿名使用者

你是用二進位制檔案中的資料換成十進位制???

二進位制與十進位制的換算二進位制和十進位制轉換怎麼算?

人們通常使用的是十進位制。它的特點有兩個 有0,1,2 9十個基本字元組成,十進位制數運算是按 逢十進一 的規則進行的.在計算機中,除了十進位制數外,經常使用的數制還有二進位制數和十六進位制數.在運算中它們分別遵循的是逢二進一和逢十六進一的法則.2 二進位制數 3 二進位制數有兩個特點 它由兩個基本...

二進位制與十進位制的轉換的公式,二進位制轉十進位制公式

計算機內部是以二進位制形式表示資料和進行運算的 計算機內的地址等訊號常用十六進位制來表示,而人們日常又習慣用十進位制來表示資料。這樣要表示一個資料就要選擇一個適當的數字符號來規定其組合規律,也就是要確定所選用的進位計數制。各種進位制都有一個基本特徵數,稱為進位制的 基數 基數表示了進位制所具有的數字...

十進位制向二進位制進行轉換時,十進位制數十相當於二進位制多少

謝邀,首先你直接把相應的十進位制數寫成與2的多少次方有關的式子,對於10這個數,10 8 2,注意,這裡的8和2都是2的冪次方,所以10 1x2 3 0x2 2 1x2 1 0x2 0,所以10的二進位制數為1010,如果這裡要求二進位制數必須是6位數,則在1010前面加0即可,即001010。對於...