當前位置:首頁 » 編程語言 » c語言十進制轉二進制
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言十進制轉二進制

發布時間: 2022-01-18 09:40:34

① 用c語言把十進制數轉化為二進制的數組

#include
<stdio.h>
void
toBinary(unsigned
int
a,unsigned
int*
b,int
length){
int
i;
for(i=length-1;i>=0;i--){
b[i]=a%2;
a/=2;
}
}
int
main(){
unsigned
int
a;
printf("Enter
the
number:
");
scanf("%d",&a);
double
l=log((double)a)/log((double)2);
int
length=(int)l+1;
unsigned
int*
b=(unsigned
int*)calloc(length,sizeof
unsigned
int);
toBinary(a,b,length);
int
i;
for(i=0;i<length;i++)
printf("%d
",b[i]);
printf("\n");
free((void)b);
return
0;
}

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

#include <stdio.h>

void main()

{

//進制轉換函數的聲明

int transfer(int x);

int x;

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

scanf("%d",&x);

printf("轉換成二進制數是:%d ",transfer(x));

}

int transfer(int x)

{

int p=1,y=0,yushu;

while(1)

{

yushu=x%2;

x/=2;

y+=yushu*p;

p*=10;

if(x<2)

{

y+=x*p;

break;

}

}

return y;

}

89÷2 ……1

44÷2 ……0

22÷2 ……0

11÷2 ……1

5÷2 ……1

2÷2 ……0

1

十進制小數轉二進制數:「乘以2取整,順序排列」(乘2取整法)

網路-二進制

③ C語言中怎樣調用函數將十進制轉換成二進制

1、打開visualC++6.0-文件-新建-文件-C++SourceFile。

④ C語言十進制轉二進制

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

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

功能:將任意類型的數字轉換為字元串。在<stdlib.h>中與之有相反功能的函數是atoi。

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


(4)c語言十進制轉二進制擴展閱讀:

方法

#include<stdio.h>

intmain(void)

{ inti=0,n,a[32];

printf("請輸入一個十進制整數. ");

scanf("%d",&n);

while(n>0)

{a[i]=n%2;

i=i+1;

n=n/2; }

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

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

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

printf(" ");

return0;}

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

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

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

⑤ 怎麼用C語言編程把十進制轉化成二進制

c語言中沒有二進制的格式輸出符號.
你可以用itoa函數很方便的將一個10進制int轉變成二進制字元串.
如:
int
i;
char
s[128];
scanf("%d",&i);
itoa(i,
s,
2);
/*3個參數,第一個是待轉換的數,第二個是存放轉換後的字元串,第三個即需要轉換的進制*/
printf("該數轉換為二進制是:
[%s]\n",s);
補充一點,itoa函數的頭文件是stdlib.h

⑥ C語言如何寫十進制轉二進制的程序

#include <stdio.h>
void trans(int x)
{
int a[30];
int i=0,rem;
do{
rem=x%2;x=x/2;
a[i]=rem;
i++;
}while(x!=0);
while(i>0)
printf("%d",a[--i]);
printf("\n");
}
void main()
{
int d;
printf("請輸入一個十進制的正整數:\n");
do scanf("%d",&d);while(d<0);
trans(d);
}