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

Trong chương trình này, bạn sẽ học cách chuyển đổi số nhị phân thành số bát phân và ngược lại bằng cách sử dụng các hàm trong Java.

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

  • Phương thức Java
  • Toán tử Java
  • Java 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, đầu 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.

 public class BinaryOctal ( public static void main(String() args) ( long binary = 101001; int octal = convertBinarytoOctal(binary); System.out.printf("%d in binary = %d in octal", binary, octal); ) public static int convertBinarytoOctal(long binaryNumber) ( int octalNumber = 0, decimalNumber = 0, i = 0; while(binaryNumber != 0) ( decimalNumber += (binaryNumber % 10) * Math.pow(2, i); ++i; binaryNumber /= 10; ) i = 1; while (decimalNumber != 0) ( octalNumber += (decimalNumber % 8) * i; decimalNumber /= 8; i *= 10; ) return octalNumber; ) )

Đầu ra

 101001 trong hệ nhị phân = 51 trong bát phân

Chuyển đổi này diễn ra như:

Nhị phân thành thập phân 1 * 2 5 + 0 * 2 4 + 1 * 2 3 + 0 * 2 2 + 0 * 2 1 + 1 * 2 0 = 41 thập phân thành bát phân 8 | 41 8 | 5 - 1 8 | 0 - 5 (51)

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, lúc đầu số bát phân sang thập phân thành thập phân. Sau đó, số thập phân được chuyển đổi thành số nhị phân.

 public class OctalBinary ( public static void main(String() args) ( int octal = 67; long binary = convertOctalToBinary(octal); System.out.printf("%d in octal = %d in binary", octal, binary); ) public static long convertOctalToBinary(int octalNumber) ( int decimalNumber = 0, i = 0; long binaryNumber = 0; while(octalNumber != 0) ( decimalNumber += (octalNumber % 10) * Math.pow(8, i); ++i; octalNumber/=10; ) i = 1; while (decimalNumber != 0) ( binaryNumber += (decimalNumber % 2) * i; decimalNumber /= 2; i *= 10; ) return binaryNumber; ) )

Đầu ra

 67 trong bát phân = 110111 trong nhị phân

Chuyển đổi này diễn ra như:

Số bát phân đến số thập phân 6 * 8 1 + 7 * 8 0 = 55 Số thập phân thành số nhị phân 2 | 55 2 | 27 - 1 2 | 13 - 1 2 | 6 - 1 2 | 3 - 0 2 | 1 - 1 2 | 0 - 1 (110111)

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