Programa Java para Convertir Octal a Binario

Dado un número octal como entrada, la tarea es convertir ese número en su número binario equivalente.

Ejemplo:

Input: Octal Number = 513
Output: Binary equivalent value is: 101001011

Explanation : 
Binary equivalent value of 5: 101
Binary equivalent value of 1: 001

Binary equivalent value of 3: 011

Sistema de numeración octal: 

El sistema de numeración octal es un sistema de numeración posicional con una raíz o base de 8 y utiliza ocho dígitos distintos del 0 al 7.

Sistema numérico binario:

Un número binario es un número expresado en el sistema numérico binario de base 2, que utiliza solo dos símbolos: 0 y 1.

Tabla de conversión de octal a binario:

octales Binario
0 000
1 001
2 010
3 011
4 100
5 101
6 110
7 111

Método 1: enfoque ingenuo

En este enfoque, la entrada del número octal se tomará como una string. Además, la string completa se repetirá carácter por carácter y para cada carácter (es decir, dígito octal), se evaluará su valor binario equivalente de acuerdo con la tabla de conversión de octal a binario anterior. El resultado de cada iteración se agregará en la string resultante y la combinación de todos los valores dará el número binario requerido. A continuación se muestra la implementación de este enfoque. 

Java

// Java program to convert
// Octal number to Binary
 
class OctalToBinary {
 
    // function to convert octal number
    // to its binary equivalent value
    static String converter(String octalValue)
    {
 
        // integer variable to iterate
        // the input octal string
        int i = 0;
 
        // string to store the result
        String binaryValue = "";
 
        // iterating the complete length
        // of octal string and assigning
        // the equivalent binary value
        // for each octal digit
        while (i < octalValue.length()) {
 
            // storing character according
            // to the number of iteration
            char c = octalValue.charAt((int)i);
 
            // switch case to check all
            // possible 8 conditions
            switch (c) {
            case '0':
                binaryValue += "000";
                break;
            case '1':
                binaryValue += "001";
                break;
            case '2':
                binaryValue += "010";
                break;
            case '3':
                binaryValue += "011";
                break;
            case '4':
                binaryValue += "100";
                break;
            case '5':
                binaryValue += "101";
                break;
            case '6':
                binaryValue += "110";
                break;
            case '7':
                binaryValue += "111";
                break;
            default:
                System.out.println(
                    "\nInvalid Octal Digit "
                    + octalValue.charAt((int)i));
                break;
            }
            i++;
        }
 
        // returning the final result
        return binaryValue;
    }
 
    // Driver code
    public static void main(String args[])
    {
 
        System.out.println("Octal to Binary Conversion\n");
 
        // octal number which is to be converted
        String octalNumber = "315";
        System.out.println("Octal number: " + octalNumber);
 
        // calling the converter method and
        // storing the result in a string variable
        String result = converter(octalNumber);
 
        System.out.println("Binary equivalent value is: "
                           + result);
    }
}
Producción

Octal to Binary Conversion

Octal number: 315
Binary equivalent value is: 011001101

Método 2: enfoque matemático 

Este método involucra cálculos matemáticos completos para obtener el resultado deseado. La entrada del número octal se tomará como un número entero. Además, primero se convierte a su valor equivalente decimal y luego de un número decimal a su equivalente binario mediante operaciones matemáticas. A continuación se muestra la implementación de este enfoque.

Java

// Java program to convert
// Octal number to Binary
public class OctalToBinary {
 
    // function to convert octal number
    // to its binary equivalent value
    public static int converter(int octalValue)
    {
 
        // declaring all variable
        // to store the intermediate results
        int i = 0;
        int decimalValue = 0;
        int binaryValue = 0;
 
        // converting octal number
        // into its decimal equivalent
        while (octalValue != 0) {
            decimalValue
                += (octalValue % 10) * Math.pow(8, i);
            ++i;
            octalValue /= 10;
        }
 
        i = 1;
 
        // converting generated decimal number
        // to its binary equivalent
        while (decimalValue != 0) {
            binaryValue += (decimalValue % 2) * i;
            decimalValue /= 2;
            i *= 10;
        }
 
        // returning the final result
        return binaryValue;
    }
 
    // Driver code
    public static void main(String[] args)
    {
 
        System.out.println("Octal to Binary Conversion\n");
 
        // octal number which is to be converted
        int octalNumber = 315;
        System.out.println("Octal number: " + octalNumber);
 
        // calling the converter method and
        // storing the result in a string variable
        int result = converter(octalNumber);
 
        // printing the binary equivalent value
        System.out.println("Binary equivalent value is: "
                           + result);
    }
}
Producción

Octal to Binary Conversion

Octal number: 315
Binary equivalent value is: 11001101

Método 3: Usar métodos java incorporados

Integer.parseInt() es una función incorporada en Java para analizar una string en un sistema numérico especificado por el valor de raíz (segundo argumento del método). En este enfoque, la entrada del número octal se tomará como una string. La string octal se analizará en un valor entero del sistema numérico octal. Además, el número octal se convertirá en su equivalente binario usando otro método incorporado Integer.toBinaryString() . El valor resultante también será del tipo de datos de string. A continuación se muestra la implementación.

Java

// Java program to convert
// Octal number to Binary
class OctalToBinary {
 
    // function to convert octal number
    // to its binary equivalent value
    public static String converter(String octalValue)
    {
 
        // parsing the string value
        // by following octal number system
        int octal = Integer.parseInt(octalValue, 8);
 
        // converting octal number to binary
        // and storing as a string
        String binaryValue = Integer.toBinaryString(octal);
 
        // returning the resultant string
        return binaryValue;
    }
 
    // Driver code
    public static void main(String args[])
    {
 
        System.out.println("Octal to Binary Conversion\n");
 
        // octal number which is to be converted
        String octalNumber = "315";
        System.out.println("Octal number: " + octalNumber);
 
        // calling the converter method and
        // storing the result in a string variable
        String result = converter(octalNumber);
 
        // printing the binary equivalent value
        System.out.println("Binary equivalent value is: "
                           + result);
    }
}
Producción

Octal to Binary Conversion

Octal number: 315
Binary equivalent value is: 11001101

Publicación traducida automáticamente

Artículo escrito por RISHU_MISHRA y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *