您好,登錄后才能下訂單哦!
本篇內容主要講解“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 轉換成二進制的過程:
從圖中得知,十進制數字 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語言如何將十進制轉為二進制”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。