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)