English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In diesem Programm lernen Sie, wie Sie mit Funktionen in Java binäre Zahlen in oktale und umgekehrt umwandeln.
In diesem Programm werden wir zunächst die binäre Zahl in die dezimale Zahl umwandeln. Anschließend wird die dezimale Zahl in die oktale Zahl umwandeln.
public class BinaryOctal { public static void main(String[] args) { long binary = 101001; int oktal = convertBinarytoOctal(binary); System.out.printf("%d binär = %d oktal", binary, oktal); } public static int convertBinarytoOctal(long binaryNumber) { int oktalNumber = 0, dezimalNumber = 0, i = 0; while(binaryNumber != 0) { decimalNumber += (binaryNumber %% 10) * Math.pow(2, i); ++; binaryNumber /= 10; } i = 1; while (decimalNumber != 0) { octalNumber += (decimalNumber % 8) * ; decimalNumber /= 8; i *= 10; } return oktalNumber; } }
Wenn Sie das Programm ausführen, wird die Ausgabe sein:
101001 Binär = 51 Oktal
Diese Umwandlung erfolgt als:
Binär nach Dezimal 1 * 25 + 0 * 24 + 1 * 23 + 0 * 22 + 0 * 21 + 1 * 20 = 41 Dezimal nach oktal 8 | 418 | 5 -- 1 8 | 0 -- 5 (51)
In diesem Programm wird zunächst die oktale Zahl in die dezimale Zahl umgewandelt. Anschließend wird die dezimale Zahl in die binäre Zahl umgewandelt.
public class OctalBinary { public static void main(String[] args) { int oktal = 67; long binary = convertOctalToBinary(oktal); System.out.printf("%d in oktal = %d binär", oktal, 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); ++; octalNumber/=10; } i = 1; while (decimalNumber != 0) { binaryNumber += (decimalNumber % 2) * ; decimalNumber /= 2; i *= 10; } return binaryNumber; } }
Wenn Sie das Programm ausführen, wird die Ausgabe sein:
67 in oktal = 110111 Binär
Diese Umwandlung erfolgt als:
Oktalzahl in Zehnerzahl 6 * 81 + 7 * 80 = 55 Zehnerzahl in Binärzahl 2 | 552 | 27 -- 1 2 | 13 -- 1 2 | 6 -- 1 2 | 3 -- 0 2 | 1 -- 1 2 | 0 -- 1 (110111)