C語言將十進位制的正整數轉換為二進位制數並輸出結果

2021-03-06 14:24:58 字數 3460 閱讀 4208

1樓:神速小羊

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

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

參考**:

#include

int main()

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

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

printf("\n");

return 0; }/*

輸出:101010*/

2樓:匿名使用者

#include

#include

int main()

3樓:匿名使用者

c語言的版本我以前寫過,不過嫌它太醜而且用處不多久沒存檔。

給你乙個c++版本的吧!

#include

int main()

比較方便吧,就靠bitset類就解決了,何樂而不為呢?

4樓:匿名使用者

void fn(int x)

else

putchar('0');

return;}

5樓:匿名使用者

用位運算

int a

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

b[i]=a&0x0001

a=a>>1

c語言:將輸入的十進位制正整數n轉換為二進位制數,並將轉換結果輸出,轉換方法採用「除2取餘」

6樓:用著追她

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

2、定義變數和數自組bai

:#include #include void main(){ long t1;int i, n, t, t3;

char a[100]。

3、 輸入du字zhi符: printf("請輸入字元:\n"); gets(a);  /*輸入n進製數存到陣列a中*/strupr(a);   /*將a中的小dao

寫字母轉換成大寫字母*/t3 = strlen(a);    /*求出陣列a的長度*/t1 = 0; /*為t1賦初值0*/。

4、輸入進製: printf("請輸入輸入進製數*/。

5、輸出最後的結果。

7樓:匿名使用者

十進位制整數bai轉換為二進位制整數採用

du"除2取餘,逆序排列"法。

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

參考**:

#include

int main()

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

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

printf("\n");

return 0; }/*

輸出:101010*/

8樓:匿名使用者

2樓正解.不過陣列太大了吧.他說是正整數啊.就算double也用不著100啊...

9樓:科技鳥

#include

void main()

for(int j=i-1;j>=0;j--)printf("%d",a[j]);

printf("\n");}

10樓:甄喜歡你

#include

#define n 2

main(int a,int b,int c)

急求用c語言:從鍵盤輸入乙個十進位制正整數,轉換成二進位制輸出

11樓:波波羅克羅伊斯

#include

void main()

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

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

printf("\n");}

12樓:

採用堆疊儲存方式,輸入的十進位制數除二餘數進棧,迴圈 最後輸出

13樓:丿_風之殤

#include

void main()

for(i=i+1;i<10;i++)

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

printf("\n");}}

14樓:秋水樓

void cast(int i)}

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

15樓:莫道無情

c語言程式如下:

#include

int main()

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

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

16樓:滄海雄風

#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

17樓:匿名使用者

如下**

#include

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

return;

}int main(void)

用c語言,輸入乙個十進位制數,將其轉換為二進位制數並輸出

18樓:匿名使用者

#include

void bin( int n )

void main()

19樓:壽楚板冬梅

已通過測試。望採納。

#include

main()

n=i-1;

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

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

printf("\n");}

20樓:匿名使用者

你第二題怎麼寫的,第一題解出來沒,可不可以發給我

十進位制整數轉換為非十進位制整數的規則是什麼

答 1 十進位制整數轉換為非十進位制整數。除基取餘法 即將十進位制整數逐次除以需要轉換為的數制的基數,直到商為0為止,然後將所得的餘數自下而上排列即可。簡言之 除基取餘,先余為低 位 後余為高 位 2 十進位制小數轉換為非十進位制小數。乘基取整法 即將十進位制小數逐次乘以需轉換為的數制的基數,直到小...

將十進位制數47轉換為二進位制,八進位制,十進位制,十六進製制,大哥們,有沒有詳細過程

47 2 23 餘1 23 2 11 餘1 11 2 5 餘1 5 2 2 餘1 2 2 1 餘0 1 2 0 餘1 以上從下到上餘數排列為101111,即47的二進位制表示,八進位制和十六進製制照此辦理 即除以8 16 得整數商和餘數,直到商為0,然後將餘數用相應進製數連線起來 47 1 2 5 ...

將十進位制數轉換為r進製數時,小數部分採用除r取餘法 ,這句話對嗎

這話是錯的。應該是 小數部分採用乘r取整法。將十進位制數轉換為r進製數時,小數部分採用除r取餘法 這句話對嗎 這話是錯的。應該是 小數部分採用乘r取整法。將十進位制數轉換為r進製數時,小數部分採用除r取餘法 這句話對嗎 舉個例子,就容易理解。25.125轉化為二進位制步驟 25 2 12餘1 12 ...