C++ 程式:將十進位制數轉換為二進位制數


在計算機系統中,二進位制數表示為二進位制數碼系統,而十進位制數表示為十進位制數碼系統。二進位制數採用基數 2,而十進位制數採用基數 10。十進位制數及其對應的二進位制數的示例如下 -

十進位制數二進位制數
1501111
1001010
1810010
2711011

一個將十進位制數轉換為二進位制數的程式如下 -

示例

 線上演示

#include <iostream>
using namespace std;
void DecimalToBinary(int n) {
   int binaryNumber[100], num=n;
   int i = 0;
   while (n > 0) {
      binaryNumber[i] = n % 2;
      n = n / 2;
      i++;
   }
   cout<<"Binary form of "<<num<<" is ";
   for (int j = i - 1; j >= 0; j--)
   cout << binaryNumber[j];
   cout<<endl;
}
int main() {
   DecimalToBinary(15);
   DecimalToBinary(10);
   DecimalToBinary(18);
   DecimalToBinary(27);
   return 0;
}

輸出

Binary form of 15 is 1111
Binary form of 10 is 1010
Binary form of 18 is 10010
Binary form of 27 is 11011

在上述程式中,DecimalToBinary 函式具有十進位制數 n 的二進位制值,並存儲在陣列 binaryNumber[] 中。使用一個 while 迴圈,在迴圈的每次迭代中,n 的模運算 2 的結果將儲存在 binaryNumber[] 中。

使用以下程式碼段展示這一點。

while (n > 0) {
   binaryNumber[i] = n % 2;
   n = n / 2;
   i++;
}

在此之後,使用一個 for 迴圈顯示二進位制數。顯示如下 -

cout<<"Binary form of "<<num<<" is ";
for (int j = i - 1; j >= 0; j--)
cout << binaryNumber[j];

main() 函式僅包含 DecimalToBinary() 的各種十進位制數的函式呼叫。

在以下程式碼段中展示這一點。

DecimalToBinary(15);
DecimalToBinary(10);
DecimalToBinary(18);
DecimalToBinary(27);

更新時間:2020 年 6 月 23 日

5000+ 次瀏覽

開啟你的 職業生涯

完成課程,獲得認證

開始學習
廣告