=0;i--){printf("%d",a[i]);}}」。"/> =0;i--){printf("%d",a[i]);}}」。">

首頁  >  文章  >  後端開發  >  c語言怎麼將十進制轉為二進制

c語言怎麼將十進制轉為二進制

青灯夜游
青灯夜游原創
2022-11-24 10:27:2647307瀏覽

十進制轉為二進制的方法:將十進制數字不斷除以2直到商為零,然後將餘數從下至上依次寫出即可;轉換代碼“int main(void){int n,len ;int a[20];scanf("%d",&n);while(n/2){a[len ]=n%2;n=n/2;}a[len ]=n%2;for (i=len-1;i>=0;i--){printf("%d",a[i]);}}」。

c語言怎麼將十進制轉為二進制

本教學操作環境:windows7系統、c99版本、Dell G3電腦。

c語言十進位轉為二進位

#在C語言中,將十進位轉換為其它進位時比較複雜。

十進位整數轉換為 N 進位整數採用「除 N 取餘,逆序排列」法。具體做法是:

  • 將N 作為除數,用十進制整數除以N,可以得到一個商數和餘數;

  • ##保留餘數,用商數繼續除以N,得到一個新的商數和餘數;

  • 仍然保留餘數,用商數繼續除以N,也會得到一個新的商數和餘數;

  • 如此反覆進行,每次保留餘數,用商接著除以N,直到商數為0 為止。

把先得到的餘數作為N 進制數的低位數字,然後得到的餘數作為N 進制數的高位數字,依次排列起來,就得到了N 進制數字。

十進制想要轉為二進制,就是採用「除2 取餘,逆序排列」原則了:

  • 將該數字不斷除以2直到商數為零,然後將餘數由下至上依序寫出,即可得到該數字的二進位表示。

下圖示範了將十進位數字42 轉換成二進位的過程:

c語言怎麼將十進制轉為二進制

從圖中得知,十進位數字42轉換成二進位的結果為101010。

實作程式碼:

#include <stdio.h>
int main(void)
{
	int n,length;	//length用来装二进制数的个数
	int a[20];		//定义一个数组来装余2得到的余数
	scanf("%d",&n);	//输入十进制的数字
	while(n/2){		//当n=1时,n/2=0,此时while(0)不执行while中的语句,直接执行下面的语句
		a[length++] = n%2;	//将除2得到的余数装入数组中
		n = n/2;			//除二
	}
	a[length++] = n%2;		//存储最后一个余数
	//将余数从下往上输出
	for(int i = length-1;i>=0;i--)
		printf("%d",a[i]);
}

c語言怎麼將十進制轉為二進制

#相關推薦:《

C影片教學

以上是c語言怎麼將十進制轉為二進制的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn