Computer >> Máy Tính >  >> Lập trình >> C ++

Chương trình C ++ để chuyển đổi số bát phân thành số nhị phân


Trong hệ thống máy tính, số nhị phân được biểu thị trong hệ thống chữ số nhị phân trong khi số bát phân ở trong hệ thống chữ số bát phân. Số nhị phân ở cơ số 2 trong khi số bát phân ở cơ số 8.

Ví dụ về số nhị phân và số bát phân tương ứng của chúng như sau -

Số nhị phân Số bát phân
01101 15
00101 5
10110 26
01010 12

Một chương trình chuyển đổi các số bát phân thành nhị phân được đưa ra như sau -

Ví dụ

#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;
}

Đầu ra

Kết quả của chương trình trên như sau -

Octal to Binary
Octal number: 33
Binary number: 11011

Trong chương trình đã cho, hàm OctalToBinary () chuyển đổi số bát phân đã cho thành số nhị phân Việc này được thực hiện bằng cách chuyển đổi số bát phân thành số thập phân trước tiên và sau đó chuyển đổi số thập phân thành số nhị phân. Điều này được thấy trong đoạn mã sau -

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;
}

Trong hàm main (), số bát phân được cho trước. Sau đó, số nhị phân tương ứng của nó được tính bằng cách gọi OctalToBinary (). Điều này được hiển thị bên dưới -

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