C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

8進数を2進数に変換するC++プログラム


コンピューターシステムでは、2進数は2進数で表され、8進数は8進数で表されます。 2進数は基数2で、8進数は基数8です。

2進数とそれに対応する8進数の例は次のとおりです-

2進数 8進数
01101 15
00101 5
10110 26
01010 12
8進数を2進数に変換するプログラムは次のとおりです-

#include <iostream>
#include <cmath>
using namespace std;
int OctalToBinary(int octalNum) {
   int decimalNum = 0, binaryNum = 0, count = 0;

   while(octalNum != 0) {
      decimalNum += (octalNum%10) * pow(8,count);
      ++count;
      octalNum/=10;
   }
   count = 1;
   while (decimalNum != 0) {
      binaryNum += (decimalNum % 2) * count;
      decimalNum /= 2;
      count *= 10;
   }
   return binaryNum;
}
int main() {
   int octalNum = 33;
   cout <<"Octal to Binary"<<endl;
   cout<<"Octal number: "<<octalNum<<endl;
   cout<<"Binary number: "<<OctalToBinary(octalNum)<<endl;
   return 0;
}

出力

上記のプログラムの出力は次のとおりです-

Octal to Binary
Octal number: 33
Binary number: 11011

指定されたプログラムでは、関数OctalToBinary()は、指定された8進数を2進数に変換します。これは、最初に10進数を10進数に変換し、次に10進数を2進数に変換することによって行われます。これは、次のコードスニペットに見られます-

int OctalToBinary(int octalNum) {
   int decimalNum = 0, binaryNum = 0, count = 0;
   while(octalNum != 0) {
      decimalNum += (octalNum%10) * pow(8,count);
      ++count;
      octalNum/=10;
   }
   count = 1;
   while (decimalNum != 0) {
      binaryNum += (decimalNum % 2) * count;
      decimalNum /= 2;
      count *= 10;
   }
   return binaryNum;
}

main()関数では、8進数が指定されています。次に、OctalToBinary()を呼び出して、対応する2進数を計算します。これを以下に示します-

int main() {
   int octalNum = 33;
   cout <<"Octal to Binary"<<endl;
   cout<<"Octal number: "<<octalNum<<endl;
   cout<<"Binary number: "<<OctalToBinary(octalNum)<<endl;
   return 0;
}

  1. C++での10進数から2進数への変換プログラム

    10進数を入力として指定すると、タスクは指定された10進数を2進数に変換することです。 コンピューターの10進数は10進数で表され、2進数は2進数の0と1の2つしかないため、2進数で表されますが、10進数は0〜9から始まる任意の数値にすることができます。 10進数を2進数に変換するには、次の手順に従います- まず、指定された数値を変換数値の基本値で除算します。例: 42を2を底とする2進数に変換し、商を取得して格納する必要があるため、42を2で除算します。余りが0の場合、ビットを0として格納します。それ以外の場合は1です。 取得した商を2進数の基数である2で除算し、ビットを格納し続けます

  2. Pythonプログラムで10進数を2進数に変換する

    この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 − 10進数が与えられているので、それに相当する2進数に変換する必要があります。 与えられた問題を解決するための2つのアプローチがあります。それらを1つずつ見てみましょう- 再帰的アプローチ 例 def DecimalToBinary(num):    if num > 1:       DecimalToBinary(num // 2)    print(num % 2, end = '') # main if _