c語言十進制數轉換為二進制數
c語言編程將十進制轉化為2進制可按手工轉換規則進行程序轉換。
整數佔四個位元組,每位元組8位,共32位。所以,可以定義一個32位的數組來存儲轉換結果。
循環將整數進行除2取余數,余數存儲到數組中。
當整數整除為0時,結束循環
逆序輸出數組,得到轉換結果
參考代碼:
#include<stdio.h>
voidmain()
{
intc[32],i=0,n;
scanf("%d",&n);//輸入待轉換整數n
do{
c[i++]=n%2;
n/=2;
}while(n!=0);
for(i--;i>=0;i--)
printf("%d",c[i]);
printf(" ");
}
Ⅱ 用c語言編寫十進制轉化二進制
#include <stdio.h>
void d2n(unsigned long d,int n)
{
if(d>=n)
{
d2n(d/n,n);
}
printf("%c","0123456789ABCDEF"[d%n]);
}
int main()
{
unsigned long d;
int n;
scanf("%lu",&d);
d2n(d,2);
return 0;
}
Ⅲ c語言編程,將十進制整數轉化為二進制
首先需要明確十進制轉為二進制的演算法:將所需轉化的數除以2,所得余數為k1,將所得商再除以2,所得余數為k2…...重復步驟直到商為0;讀數時從最後一個余數讀起,即kn,k(n-1)…k2,k1;所得數便是轉化成的二進制數(除二取余法)
Ⅳ 怎麼用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語言十進制小數轉為二進制
十進制小數轉換成二進制小數採用"乘2取整,順序排列"法。即小數部分連續的乘以R,保留每次相乘的整數部分。
具體做法是:用2乘十進制小數,可以得到積,將積的整數部分取出,再用2乘餘下的小數 部分,又得到一個積,再將積的整數部分取出,如此進行,直到積中的小數部分為零,或者達到所要求的精度為止。將得到的整數部分按照得到的順序排流列即為小數部分。
然後把取出的整數部分按順序排列起來,先取的整數作為二進制小數的高位有效位,後取的整數作為低位有效位。
(5)c語言十進制數轉換為二進制數擴展閱讀:
十進制整數轉換為二進制整數的方法:
十進制整數轉換為二進制整數採用"除2取余,逆序排列"法。
具體做法是:用2去除十進制整數,可以得到一個商和余數;再用2去除商,又會得到一個商和余數,如此進行,直到商為零時為止,然後把先得到的余數作為二進制數的低位有效位,後得到的余數作為二進制數的高位有效位,依次排列起來。
Ⅵ 一道c語言編程題,將十進制轉換為二進制
1、打開visual C++ 6.0-文件-新建-文件-C++ Source File。
Ⅶ C語言中怎樣調用函數將十進制轉換成二進制
1、打開visualC++6.0-文件-新建-文件-C++SourceFile。
Ⅷ 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取整法)
網路-二進制