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)