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