本篇內(nèi)容主要講解“c語言如何將十進制轉(zhuǎn)為二進制”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“c語言如何將十進制轉(zhuǎn)為二進制”吧!
創(chuàng)新互聯(lián)公司是一家專注于網(wǎng)站建設(shè)、網(wǎng)站設(shè)計與策劃設(shè)計,彭州網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:彭州等地區(qū)。彭州做網(wǎng)站價格咨詢:18980820575
十進制轉(zhuǎn)為二進制的方法:將十進制數(shù)字不斷除以2直到商為零,然后將余數(shù)由下至上依次寫出即可;轉(zhuǎn)換代碼“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語言十進制轉(zhuǎn)為二進制
在C語言中,將十進制轉(zhuǎn)換為其它進制時比較復(fù)雜。
十進制整數(shù)轉(zhuǎn)換為 N 進制整數(shù)采用“除 N 取余,逆序排列”法。具體做法是:
將 N 作為除數(shù),用十進制整數(shù)除以 N,可以得到一個商和余數(shù);
保留余數(shù),用商繼續(xù)除以 N,又得到一個新的商和余數(shù);
仍然保留余數(shù),用商繼續(xù)除以 N,還會得到一個新的商和余數(shù);
……
如此反復(fù)進行,每次都保留余數(shù),用商接著除以 N,直到商為 0 時為止。
把先得到的余數(shù)作為 N 進制數(shù)的低位數(shù)字,后得到的余數(shù)作為 N 進制數(shù)的高位數(shù)字,依次排列起來,就得到了 N 進制數(shù)字。
而十進制想要轉(zhuǎn)為二進制,就是采用“除 2 取余,逆序排列”原則了:
將該數(shù)字不斷除以2直到商為零,然后將余數(shù)由下至上依次寫出,即可得到該數(shù)字的二進制表示。
下圖演示了將十進制數(shù)字 42 轉(zhuǎn)換成二進制的過程:
從圖中得知,十進制數(shù)字 42 轉(zhuǎn)換成二進制的結(jié)果為 101010。
實現(xiàn)代碼:
#include <stdio.h>
int main(void)
{
int n,length; //length用來裝二進制數(shù)的個數(shù)
int a[20]; //定義一個數(shù)組來裝余2得到的余數(shù)
scanf("%d",&n); //輸入十進制的數(shù)字
while(n/2){ //當(dāng)n=1時,n/2=0,此時while(0)不執(zhí)行while中的語句,直接執(zhí)行下面的語句
a[length++] = n%2; //將除2得到的余數(shù)裝入數(shù)組中
n = n/2; //除二
}
a[length++] = n%2; //存儲最后一個余數(shù)
//將余數(shù)從下往上輸出
for(int i = length-1;i>=0;i--)
printf("%d",a[i]);
}
到此,相信大家對“c語言如何將十進制轉(zhuǎn)為二進制”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
網(wǎng)站題目:c語言如何將十進制轉(zhuǎn)為二進制
網(wǎng)頁鏈接:http://jinyejixie.com/article42/possec.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、移動網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計、網(wǎng)站設(shè)計、營銷型網(wǎng)站建設(shè)、關(guān)鍵詞優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)