Java-programma om binair getal naar octaal te converteren en vice versa

In dit programma leer je om een ​​binair getal om te zetten naar een octaal getal en omgekeerd met behulp van functies in Java.

Om dit voorbeeld te begrijpen, moet u kennis hebben van de volgende Java-programmeeronderwerpen:

  • Java-methoden
  • Java-operators
  • Java while en do … while Loop

Voorbeeld 1: programma om binair naar octaal te converteren

In dit programma zullen we eerst een binair getal converteren naar een decimaal getal. Vervolgens wordt het decimale getal geconverteerd naar een octaal getal.

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

Uitvoer

 101001 in binair = 51 in octaal

Deze conversie vindt plaats als:

Binair naar decimaal 1 * 2 5 + 0 * 2 4 + 1 * 2 3 + 0 * 2 2 + 0 * 2 1 + 1 * 2 0 = 41 decimaal naar octaal 8 | 41 8 | 5 - 1 8 | 0 - 5 (51)

Voorbeeld 2: programma om octaal naar binair te converteren

In dit programma wordt het octale getal eerst decimaal naar decimaal. Vervolgens wordt het decimale getal geconverteerd naar een binair getal.

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

Uitvoer

 67 in octaal = 110111 in binair

Deze conversie vindt plaats als:

Octaal naar decimaal 6 * 8 1 + 7 * 8 0 = 55 Decimaal naar binair 2 | 55 2 | 27 - 1 2 | 13 - 1 2 | 6-1 2 | 3-0 2 | 1 - 1 2 | 0-1 (110111)

Interessante artikelen...