中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

c語言如何將十進制轉為二進制

發布時間:2022-11-24 10:34:42 來源:億速云 閱讀:634 作者:iii 欄目:編程語言

本篇內容主要講解“c語言如何將十進制轉為二進制”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“c語言如何將十進制轉為二進制”吧!

十進制轉為二進制的方法:將十進制數字不斷除以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語言十進制轉為二進制

在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語言如何將十進制轉為二進制”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

武定县| 鹤山市| 天全县| 昌江| 会宁县| 湟源县| 五常市| 枝江市| 银川市| 喀什市| 逊克县| 温宿县| 淳化县| 麻城市| 江陵县| 五寨县| 兴安盟| 广南县| 汨罗市| 陇西县| 龙口市| 阿瓦提县| 龙川县| 关岭| 通榆县| 遵义县| 邮箱| 涞水县| 随州市| 攀枝花市| 丰台区| 繁昌县| 沅陵县| 班玛县| 张家川| 当涂县| 五河县| 邵武市| 二连浩特市| 中阳县| 南投市|