c語言十進位制轉二進位制,C語言十進位制轉二進位制

2021-07-01 01:47:23 字數 6348 閱讀 8818

1樓:何老師**答疑

十進位制轉二進位制可以使用庫函式itoa。

itoa函式原型:char*itoa(int value,char*string,int radix);

功能:將任意型別的數字轉換為字串。在中與之有相反功能的函式是atoi。

nt value 被轉換的整數,char *string 轉換後儲存的字元陣列,int radix 轉換進位制數,如2,8,10,16 進位制等。

擴充套件資料:

方法#include

int main(void)

printf("十進位制整數轉換為二進位制數是:\n");

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

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

printf("\n");

return 0;}

十進位制整數轉換為二進位制整數的方法:

十進位制整數轉換為二進位制整數採用"除2取餘,逆序排列"法。

具體做法是:用2去除十進位制整數,可以得到一個商和餘數;再用2去除商,又會得到一個商和餘數,如此進行,直到商為零時為止,然後把先得到的餘數作為二進位制數的低位有效位,後得到的餘數作為二進位制數的高位有效位,依次排列起來。

2樓:彭珂的課堂

c語言_010_二進位制轉十進位制_上

3樓:魯禮常胭

使用庫函式itoa。

itoa函式原型:char

*itoa(int

value,char*string,intradix);

功能:將任意型別的數字轉換為字串。

其中int

value

被轉換的整數,char

*string

轉換後儲存的字元陣列,int

radix

轉換進位制數,如2,8,10,16

進位制等。

參考**:

#include

#include

int main()

/*執行結果:把十進位制的15轉成2進位制

151111*/

4樓:泰恬仰清秋

樓主最先求出來的,就是最低位。

可用個陣列,依次存放各個位,然後倒次序著顯示,就可以得到正確的次序。

但是不如下面的簡單:

#include

#include

main()

5樓:ma饅頭

把十進位制變成二進位制是反覆取餘除2的,這種方法沒錯,但是應該逆序讀出0或1的序列,才是正確的。

語法正確,邏輯錯誤。不信在紙上算一下就能看出來了。

6樓:慮而後能得

#include

void to_binary(unsigned long n);

int main(void)

printf("done \n");

return 0;

}void to_binary(unsigned long n)此為標準程式

#include

#include

int main(void)

a[i++] = '1';

a[i++] = '\0';

m = strlen(a);

for(i=m-1; i>=0; i--)printf("%c",a[i]);

printf("\n");

printf("please enter an integer(q to quit):\n");

}printf("bye!\n");

return 0;

}此為我自己做的,可以節省記憶體。

7樓:

呵呵這樣做的確輸出的是反過來的數

方法一:

可以利用陣列順序儲存轉換過程中依次得到每個數字位,轉換結束後再按相反的次序輸出陣列內容即可得到正確的結果。

方法二:

直接搞掂,這才叫強!!!

且看我如何強法!!

#include

void trans(int x)

while(x!=0);//這個演算法看你的**知道你懂!:)while(i>0)

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

printf("\n");//這就是我的精華了,倒輸出正確順序的數~}void main()

我覺得樓主的水平也不差,

應該看得懂吧

我只是加了幾句而已

加分哦:)

8樓:飛天星星小子

#include

void main()

while(a>0);

putchar('\n');

printf("your binary number is :");

for(b=x-1;b>=0;b--);

}我自己寫出來了誒,好開心啊!!!

9樓:匿名使用者

可以用遞迴的方法來解決這個問題

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

10樓:匿名使用者

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

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

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

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

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

參考**:

#include

void main()

while(n!=0) ;

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

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

printf("\n");}

11樓:匿名使用者

//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");}

12樓:

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

#include "stdio.h"

void dfs(int k)

void main(void)

13樓:知道不知道巨蟹

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

14樓:閒來無事

#include

#include

void main()

while (iinput);

printf("\n結果

:%d", iresult);}

15樓:super遊戲大神

int i=0;

char b[32]=;

while(n!=0)

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

16樓:習溫虢綢

#include

"stdio.h"

#define

stacksize

100typedef

intelemtype;

typedef

struct

sqstack;

initstack(sqstack

*ps)

intpush(sqstack

*ps,elemtype

e)int

pop(sqstack

*ps,elemtype

*pe)

main()

while(n);

while(pop(&s,&e))

printf("\n");

return0;}

一道c語言程式設計題,將十進位制轉換為二進位制

17樓:匿名使用者

1、開啟visual c++ 6.0-檔案-新建-檔案-c++ source file。

2、定義陣列

和變數:#include #include void main()/*定義陣列a,元素初始值為0*/system("cls");/*清屏*/。

3、輸入十進位制數:printf("請輸入一個十進位制數輸入n的值*/。

4、計算二進位制數:for (m = 0; m < 15; m++)/*for迴圈從0到14,最高為符號位,本題始終為0*/。

5、最後執行一下看看結果,就完成了。

18樓:四舍**入

將十進位制轉換為

二進位制可以參考下面的**:

方法一#include

int a[8];

int main()

void binary(int n)

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

}方法二

#include

int main()

int e;

for(e=100;e>=0;e--)

printf("十進位制數%d轉換成二進位制數為:",l);

int i;

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

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

printf("\n");}

19樓:匿名使用者

#include

int a[8];

int main()

void binary(int n)

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

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

20樓:幻翼高達

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

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

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

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

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

21樓:_死_性_不_改

按照如下步驟即可用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語言程式既可以把二進位制數成功轉換成十進位制數了。

22樓:匿名使用者

#include

int main()

// wut infomation school of engineering;

23樓:小八

隨便輸入一抄

個2進位制bai

#include

#include

int main()

else

二進位制轉十進位制演算法,二進位制轉十進位制演算法 01100000 00101100 01011000 11001010要具體演算法過程 文字解釋不給

從左往右算,左邊一位乘以2加上後一位,依次算下去 01100000 0 2 0 0 2 1 0 2 2 0 2 3 0 2 4 1 2 5 1 2 6 0 2 7 96 00101100 0 2 0 0 2 1 1 2 2 1 2 3 0 2 4 1 2 5 0 2 6 0 2 7 44 01011...

c語言裡,八進位制,十六進位制,二進位制,十進位制怎麼互

n進位制轉 baim進位制,10進製表示,n,m均小 du於10 如果大zhi於10需要 dao特殊處回理,需要使用字串來答 輔助處理了 int convertnumber int x,int n,int m z 0 nn 1 while y return z void main c語言裡,注意,說...

計算二進位制 十進位制數,二進位制轉十進位制的演算法怎麼算?

的 應該這樣簡單 先把39轉換成十六進位制 27然後再將那個2的一位變成二進位制的四位 0010再把7那一位變成二進位制的四位 0111 所以39的二進位制就是0010 0111 把這個二進位制數從右到左分組,四位一組為1101 0111 0001 然後把每一組變成十進位制就成了d71h 這樣很快變...