如何用c語言編寫二進位制和十進位制之間的轉換

時間 2021-07-01 01:47:41

1樓:老星津危吉

#include

/*將十進位制數以任意進位制輸出(2到16進位制),引數為非負整數n要轉換的數(十進位制)

j目標進位制*/

void

outstring(int

n,int

j)s[i--]=0;

for(k=0;

k

i--)t=

s[k],

s[k]

=s[i],

s[i]=t;

printf("%s",

s);}

intmain(void)

2樓:牽冬靈光馥

二進位制轉十進位制

n為輸入的二進位制數,d用來處理該數。

k為標誌位,當k為1時表示輸入的數有問題,需要重新輸入。

i為每次分解的個位數;j為二進位制的權值;m為累計的十進位制和;p為輸入的數的位數,超過10時,該數越界,需要重新輸入,定k=1。

程式如下:

#include

main()

m+=i*j;

j=j*2;

d/=10;}}

while(k==1

||m==0);

printf("\n

thenumber

is%d\n",m);

getch();}

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

3樓:幻翼高達

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

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

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

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

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

4樓:_死_性_不_改

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

5樓:匿名使用者

#include

int main()

// wut infomation school of engineering;

6樓:小八

隨便輸入一抄

個2進位制bai

#include

#include

int main()

else

7樓:匿名使用者

#include

unsigned bintodec(char *a)

main()

8樓:

用位移.

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

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

9樓:騰訊電腦管家

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

10樓:zz迎風

#include

#include

void main()

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

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

用c語言編寫兩個函式,分別完成十進位制和二進位制之間的轉換。

11樓:匿名使用者

10->2

#include

int main()

int i,j,x=0;

int a[1000];

scanf("%d",&x);

for(i=0;;i++)

a[i]=x%2;

x=x/2;

if(x==0)

break;

for(;i>-1;i--)

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

printf("\n");

return 0;

2->10

#include

int main(void)

printf("%d",dec);

return 0;}

12樓:

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

}return 0;}

c語言中十進位制和二進位制怎麼轉換

13樓:

#include

#include

#include

using namespace std;

string zhuanhuan(int num,int base)while(num!=0);

while(!stk.empty())

return numstr;

}int main()

以上**能實現任意進位制之間的轉換!希望對你有幫助!!

14樓:穆鬆蘭古子

二進位制數第0位的權值是2的0次方,第1位的權值是2的1次方…所以,設有一個二進位制數:01101,轉換為10進製為:

01101換算成

十進位制第0位0*

2的0方=0

第1位0

*2的1方=0

第2位1

*2的2方=4

第3位0

*2的3方=0

第4位0

*2的4方=0

第5位1*2的5方=32

+=36

15樓:奚霞鈄凰

10000101

對於這個來說

一般最高位

為符號位

0為+,

1為-所以為-5;

short型別佔2個位元組,也就是

16位,

最大值為0111

1111

1111

1111。

進位制之間的

轉換,比如

10進位制92

轉換成2進位制,92/2=46

餘數是0,46/2=23

餘數是0,23/2=11

餘數是1,

11/2=5,

餘數是1,

5/2=

2,餘數是

1,2/2=1,

餘數是0,

所以2進製為

0111100(這裡面的餘數是從後往前計的)。

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

16樓:匿名使用者

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

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

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

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

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

參考**:

#include

void main()

while(n!=0) ;

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

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

printf("\n");}

17樓:匿名使用者

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

18樓:

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

#include "stdio.h"

void dfs(int k)

void main(void)

19樓:知道不知道巨蟹

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

20樓:閒來無事

#include

#include

void main()

while (iinput);

printf("\n結果

:%d", iresult);}

21樓:super遊戲大神

int i=0;

char b[32]=;

while(n!=0)

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

22樓:習溫虢綢

#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語言編寫二進位制轉換十進位制的程式。

23樓:依然特雷西

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

24樓:匿名使用者

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

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

#include

int main()

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

return 0;}/*

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

可用這個程式

*/#include

int main()

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

return 0;}

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

看看這個行不行?希望對你有幫助 include stdafx.h include stdio.h include string.h include conio.h include stdlib.h void convert char input,char output for ii nx ii9 0...

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

何老師 答疑 十進位制轉二進位制可以使用庫函式itoa。itoa函式原型 char itoa int value,char string,int radix 功能 將任意型別的數字轉換為字串。在中與之有相反功能的函式是atoi。nt value 被轉換的整數,char string 轉換後儲存的字元...

如何用C 編寫程式接收二進位制數輸入

四捨 入 include include char s 100 int i,k int main printf 輸入二進位制數 scanf s s for i 0,k strlen s iif iprintf s不是二進位制數。s else printf s是二進位制數。s return 0 c 中...