用c語言程式設計,實現十進位制和二進位制的相互轉化

2021-03-04 01:50:05 字數 4845 閱讀 2599

1樓:匿名使用者

#include

int getnumber(char *s,int *n)return k;

}else return 0;

}void exchange(char *s,int n,int k)

for ( i=0;ivoid main()}

2樓:

#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;}}

3樓:三國紫星

你是初學吧,建議這個還是自己寫。如果真弄不清,一般書上都會有的。另外,程式設計的問題還是去德問之類的**上問吧!

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

4樓:依然特雷西

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、最後看一下執行的結果。

5樓:匿名使用者

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

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

#include

int main()

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

return 0;}/*

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

可用這個程式

*/#include

int main()

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

return 0;}

6樓:匿名使用者

#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)

7樓:zz迎風

#include

#include

void main()

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

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

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

8樓:匿名使用者

int fun(int j);

void main()

cout << dec << endl;

}int fun(int j)

return ji;

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

9樓:匿名使用者

#include

#include

#include

int bintodec(char *bin)void main()

10樓:匿名使用者

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

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

11樓:匿名使用者

vc環境下用

源c++實現bai

#include

using namespace std;

void main()

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

cout<

12樓:匿名使用者

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

13樓:匿名使用者

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

c語言程式設計,如何將十進位制轉化為2進位制

14樓:匿名使用者

c語言程式設計將十進位制轉化為2進位制可按手工轉換規則進行程式轉換。

整數佔四個位元組,每位元組8位,共32位。所以,可以定義一個32位的陣列來儲存轉換結果。

迴圈將整數進行除2取餘數,餘數儲存到陣列中。

當整數整除為0時,結束迴圈

逆序輸出陣列,得到轉換結果

參考**:

#include

void main()

while(n!=0) ;

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

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

printf("\n");}

15樓:匿名使用者

//do while把for改改

#include

#include

//函式宣告

void tenttwo(int x);

void main()

//函式實現

void tenttwo(int x)

while(x!=1);

d[num]=1;  //最後一個數為1

/* for(j=0;j<1000;j++)num++;

}*///num++;

//逆向輸出陣列中的資料拼接成二進位制數

for(j=num;j>=0;j--)

printf("%d",d[j]);

printf("\n");}

16樓:

//#include "stdafx.h"//vc++6.0加上這一行.

#include "stdio.h"

void dfs(int k)

void main(void)

17樓:知道不知道巨蟹

#include "stdio.h"

#define stacksize 100typedef int elemtype;

typedef struct sqstack;

initstack(sqstack *ps)int push(sqstack *ps,elemtype e)int pop(sqstack *ps,elemtype *pe)main()

while(n);

while(pop(&s,&e))

printf("\n");

return 0;}

18樓:閒來無事

#include

#include

void main()

while (iinput);

printf("\n結果

:%d", iresult);}

19樓:super遊戲大神

int i=0;

char b[32]=;

while(n!=0)

c語言,使用陣列,編寫一個十進位制正整數轉換為二進位制數的轉換工具 5

20樓:莫道無情

c語言程式如下:

#include

int main()

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

}思路:反覆地將n除以2取餘數;將取出的餘數用陣列存放;由於先取出的是低位資料,後取出的是高位資料,因此需將陣列逆序輸出。

21樓:滄海雄風

#include

int main()

;scanf("%d",&a);

printf("input=%d\n",a);

while (a)

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

printf("\n");

return 0;}65

input=65

1000001

22樓:匿名使用者

如下**

#include

void getbirn( int a,char *s)for(j=0;i>=0;i--,j++)*(s+j)='\0';

return;

}int main(void)

如何用匯程式設計序實現二進位制,十進位制,十六進位制之間的轉換

二進位制和bai十六進位制轉換du,也就是將二進zhi制按四位劃分一段,然後用十六進dao製表示,末尾加上專h就可以了。屬 十六進位制轉為二進位制則將十六進位制的每一位用二進位制表示,為四位一段,按順序寫下來末尾加上b就是了。十進位制麼,就是日常用的自然數,計算出二進位制或十六進位制的數值,就可以了...

用C語言編寫程式 將十進位制的數轉化成二進位制的數,並且要用到呼叫函式

float zhuanhuan float num zhengshu for int i 0 i 10 i 要10位小數return zhengshu 請查一相怎麼轉換成float 型別 include void change int x change x 1 printf d x 1 int ma...

c語言中二進位制十進位制十六進位制各是什麼意思

計算機中常用的數的進位制主要有 二進位制 八進位制 十六進位制,學習計算機要對其有所瞭解。2進位制,用兩個阿拉伯數字 0 1 8進位制,用八個阿拉伯數字 0 1 2 3 4 5 6 7 10進位制,用十個阿拉伯數字 0到9 16進位制就是逢16進1,但我們只有0 9這十個數字,所以我們用a,b,c,...