Programme Java pour convertir un nombre binaire en octal et vice-versa

Dans ce programme, vous apprendrez à convertir un nombre binaire en un nombre octal et vice-versa en utilisant des fonctions en Java.

Pour comprendre cet exemple, vous devez avoir la connaissance des rubriques de programmation Java suivantes:

  • Méthodes Java
  • Opérateurs Java
  • Java pendant et faire… en boucle

Exemple 1: programme pour convertir le binaire en octal

Dans ce programme, nous allons d'abord convertir un nombre binaire en nombre décimal. Ensuite, le nombre décimal est converti en octal.

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

Production

 101001 en binaire = 51 en octal

Cette conversion a lieu comme:

Binaire à décimal 1 * 2 5 + 0 * 2 4 + 1 * 2 3 + 0 * 2 2 + 0 * 2 1 + 1 * 2 0 = 41 décimal à octal 8 | 41 8 | 5 - 1 8 | 0 - 5 (51)

Exemple 2: programme pour convertir octal en binaire

Dans ce programme, le nombre octal de décimal à décimal dans un premier temps. Ensuite, le nombre décimal est converti en nombre binaire.

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

Production

 67 en octal = 110111 en binaire

Cette conversion a lieu comme:

Octal à décimal 6 * 8 1 + 7 * 8 0 = 55 Décimal à binaire 2 | 55 2 | 27 - 1 2 | 13 - 1 2 | 6 - 1 2 | 3 - 0 2 | 1 - 1 2 | 0 - 1 (110111)

Articles intéressants...