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

Trong ví dụ này, bạn sẽ học cách chuyển đổi số nhị phân sang bát phân và số bát phân sang nhị phân theo cách thủ công bằng cách tạo một hàm do người dùng xác định.

Để hiểu ví dụ này, bạn nên có kiến ​​thức về các chủ đề lập trình C ++ sau:

  • Các hàm trong C ++
  • Các loại hàm do người dùng định nghĩa trong C ++
  • C ++ if, if… else và Nested if… else
  • C ++ while và do… while Loop

Ví dụ 1: Chương trình chuyển đổi nhị phân sang bát phân

Trong chương trình này, trước tiên chúng ta sẽ chuyển đổi số nhị phân sang số thập phân. Sau đó, số thập phân được chuyển thành bát phân.

 #include #include using namespace std; int convertBinarytoOctal(long long); int main() ( long long binaryNumber; cout <> binaryNumber; cout << binaryNumber << " in binary = " << convertBinarytoOctal(binaryNumber) << " in octal "; return 0; ) int convertBinarytoOctal(long long binaryNumber) ( int octalNumber = 0, decimalNumber = 0, i = 0; while(binaryNumber != 0) ( decimalNumber += (binaryNumber%10) * pow(2,i); ++i; binaryNumber/=10; ) i = 1; while (decimalNumber != 0) ( octalNumber += (decimalNumber % 8) * i; decimalNumber /= 8; i *= 10; ) return octalNumber; ) 

Đầu ra

 Nhập một số nhị phân: 10001 10001 trong nhị phân = 21 trong bát phân

Số nhị phân do người dùng nhập được chuyển cho convertBinaryToOctal()hàm. Và, hàm này chuyển đổi số thành bát phân và trả về main()hàm

Ví dụ 2: Chương trình chuyển đổi số bát phân sang số nhị phân

Trong chương trình này, số bát phân lúc đầu được chuyển đổi thành số thập phân. Sau đó, số thập phân được chuyển đổi thành số nhị phân.

 #include #include using namespace std; long long convertOctalToBinary(int); int main() ( int octalNumber; cout <> octalNumber; cout << octalNumber << " in octal = " << convertOctalToBinary(octalNumber) << "in binary"; return 0; ) long long convertOctalToBinary(int octalNumber) ( int decimalNumber = 0, i = 0; long long binaryNumber = 0; while(octalNumber != 0) ( decimalNumber += (octalNumber%10) * pow(8,i); ++i; octalNumber/=10; ) i = 1; while (decimalNumber != 0) ( binaryNumber += (decimalNumber % 2) * i; decimalNumber /= 2; i *= 10; ) return binaryNumber; ) 

Đầu ra

 Nhập một số bát phân: 54 54 trong bát phân = 101100 

Số bát phân do người dùng nhập được chuyển cho convertOctalToBinary()hàm. Và, hàm này chuyển đổi số thành nhị phân và trả về main()hàm

thú vị bài viết...