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

時間 2021-07-01 01:46:40

1樓:匿名使用者

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

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

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

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

#include

#include

int main()

/*1010*/

2樓:彭珂的課堂

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

3樓:匿名使用者

int dectobin(int n)

}return num;

}你這個程式邏輯,最多隻能支援到1023,因為你用int表達二進位制,最多隻能表示10個1。

4樓:耘熵

換一種思路,會更簡單些,給點時間,我寫一個給你。

#include

void dectobin(int n, char *po)//以上字元方向是反的,現調整過來

for (i = 0; i < cnt; i++)po[i] = chtmp[cnt - 1 - i];

po[i] = 0; //字串結尾的 0}void dectobin2(int n, char *po)//如果有必要,除去二進位制數前面的 0

/*for (j = 0; j < 32; j++)for (i = j; i < 32; i++)po[i - j] = 0; //字串結尾的 0*/}int main()

printf("\n");

system("pause");

return 0;}

5樓:匿名使用者

感覺你這個好像不對,而且pow函式的返回值是double型別的,所以if(n/pow(2,i)==1)這個條件永遠滿足不了,用int儲存最後的結果也不好,因為結果很容易溢位,pow的結果也容易溢位,下面是我寫的一個,參考下吧,希望對你有幫助

int dectobin(int n,char* des)des[0] = tmpn%2+'0';

i++;

tmpn /= 2;

} while (tmpn);

return num;

}int _tmain(int argc, _tchar* argv)

;printf("請輸入十進位制數:");

scanf("%d",&n);

i=dectobin(n,tmp);

printf("%s\n",tmp);

return 0;}

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

6樓:匿名使用者

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

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

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

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

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

參考**:

#include

void main()

while(n!=0) ;

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

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

printf("\n");}

7樓:匿名使用者

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

8樓:

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

#include "stdio.h"

void dfs(int k)

void main(void)

9樓:知道不知道巨蟹

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

10樓:閒來無事

#include

#include

void main()

while (iinput);

printf("\n結果

:%d", iresult);}

11樓:super遊戲大神

int i=0;

char b[32]=;

while(n!=0)

怎麼用c語言程式設計把十進位制轉化成二進位制

12樓:偶藹程豫

c語言bai

中沒有二進位制的格式輸出du符號.

你可以用itoa函式

zhi很方便的將一個dao10進位制int轉變成二進回制字串.

如:int

i;char

s[128];

scanf("%d",&i);

itoa(i,

s,2);

/*3個引數,第一個是答待轉換的數,第二個是存放轉換後的字串,第三個即需要轉換的進位制*/

printf("該數轉換為二進位制是:

[%s]\n",s);

補充一點,itoa函式的標頭檔案是stdlib.h

如何用c語言將十進位制數轉換為二進位制數

13樓:慣性俺

#include

long int btd(char *s) /*將以字串形式儲存在s地址中的二進位制數字轉換為對應的十進位制數字*/

c語言怎麼將十進位制轉化成二進位制

14樓:匿名使用者

#include

void main()

int transfer(int x)

}return y;

}擴充套件資料:(1)二進位制轉十進位制

方法:“按權求和”

【例】:

規律:個位上的數字的次數是0,十位上的數字的次數是1,......,依次遞增,而十分位的數字的次數是-1,百分位上數字的次數是-2,......,依次遞減。

注意:不是任何一個十進位制小數都能轉換成有限位的二進位制數。

(2)十進位制轉二進位制

十進位制整數轉二進位制數:“除以2取餘,逆序排列”(除二取餘法)【例】:

89÷2 ……1

44÷2 ……0

22÷2 ……0

11÷2 ……1

5÷2 ……1

2÷2 ……0

1十進位制小數轉二進位制數:“乘以2取整,順序排列”(乘2取整法)

15樓:

#include

int main()

printf("二進位制:");

while(i>0)

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

printf("\n");

return 0;}

16樓:great我的一

就是那個例題,寫的話太麻煩了

c語言程式設計,將十進位制整數轉化為二進位制

17樓:匿名使用者

首先需要明確十進位制轉為二進位制的演算法:將所需轉化的數除以2,所得餘數為k1,將所得商再除以2,所得餘數為k2…...重複步驟直到商為0;讀數時從最後一個餘數讀起,即kn,k(n-1)…k2,k1;所得數便是轉化成的二進位制數(除二取餘法)

二進位制和十進位制的轉化,二進位制轉化為十進位制的方法?

我不能圓滿的你。給點我的想法吧!我覺得,如果按正確的轉化方法的話,那麼各類進製中,數的大小就都是統一的了 這句是你的原話。這句是沒錯的,不管按什麼方法轉化,他們的大小是不會變化的。但是,數的大小比較不是看他們的形式,不能因為one,和1不同就說他們是不一樣的。同樣也不能說10和10一樣就說他們是一樣...

二進位制小數如何轉化為十進位制,如,二進位制小數如何轉化為十進位制,如

毓人 0.101 2 1 2 0 2 1 2 10 0.5 0 2 1 2 10 0.5 2 1 2 10 0.25 1 2 10 1.25 2 10 0.625 10 生活如歌 0.101b 2 1 2 3 0.625 二m進製數與z十s進製數如何轉換 3 二v進製數 十l進製數 對於j較小j的二...

將0 35由十進位制化為二進位制,將十進位制的數 35轉換為二進位制

將0.35由十進位制化為二進位制是0.010110011,採用 乘2取整,順序排列 法進行計算。具體計算過程 0.35x2 0.7 取整0,0.7x2 1.4 取整1,0.4x2 0.8 取整0,0.8x2 1.6 取整1,0.6x2 1.2 取整1,0.2x2 0.4 取整0,0.4x2 0.8 ...