Un sistema numérico binario se compone de dos símbolos: 0 (ceros) y 1 (unos), que representan el estado bajo o apagado y alto o encendido , respectivamente, en la electrónica digital. Es principalmente un sistema numérico con base 2 y también se usa ampliamente en informática. Todos los datos se almacenan en símbolos binarios en computadoras que también se denominan bits. El sistema binario deriva su nombre del hecho de que se compone de solo dos símbolos. Un número binario también se puede considerar como una string de solo 0 y 1.
Un sistema de numeración octal consta de ocho dígitos que van del 0 al 7 . Deriva su nombre del hecho de que consta de ocho dígitos (de ahí Oct), que significa ocho. Es un sistema numérico de base 8 y se puede formular agrupando los bits en un número binario en grupos de tres y calculando el valor correspondiente de cada grupo como un solo dígito en el número octal resultante.
Ejemplo:
Input : 100100 Output: 44 Input : 1100001 Output : 141
En este artículo, vamos a explorar 2 métodos para convertir un número binario en un número octal. Estos métodos son los siguientes:
- Usando el método integrado toOctalString() en Java
- Convertir el número binario en un número decimal que luego se convierte en el número octal correspondiente.
Enfoque 1:
Usando este enfoque, primero convertimos un número binario en un entero y luego, usando el método integrado toOctalString() de Java, lo convertimos en una string de números octales. Luego, esta string se convierte nuevamente en un número entero.
Sintaxis:
public static String toOctalString(int num)
Parámetros: el método acepta un solo parámetro num de tipo entero que se requiere para convertirlo en una string.
Valor devuelto: la función devuelve una representación de string del argumento entero como un entero sin signo en base 8.
Algoritmo:
- Convierte el número binario en un número decimal.
- Convierta este número decimal en una string de números octales utilizando el método toOctalString().
- Convierta esta string nuevamente en un número entero.
Ejemplo:
Java
// Java program to convert binary to octal class GFG { // method to convert binary to decimal int binaryToDecimal(long binary) { // variable to store the decimal number int decimalNumber = 0, i = 0; // loop to extract the digits of the // binary number while (binary > 0) { // multiplying each digit of binary // with increasing powers of 2 towards // left decimalNumber += Math.pow(2, i++) * (binary % 10); // dividing the binary by 10 // to remove the last digit binary /= 10; } // returning the converted decimal number return decimalNumber; } // function to convert decimal to octal int decimalToOctal(long binary) { // variable to store the decimal number // returned by the binaryToDecimal() int decimalNumber = binaryToDecimal(binary); // using the toOctalString() to convert // Integer to String of Octal Number String octalString = Integer.toOctalString(decimalNumber); // converting the String of octal number // to an Integer int octalNumber = Integer.parseInt(octalString); // returning the octal number return octalNumber; } // Driver Code public static void main(String[] args) { // instantiating the class GFG ob = new GFG(); // calling and printing the decimalToOCtal // method System.out.println("octal number:"+ob.decimalToOctal(100100)); } }
octal number:44
Enfoque 2:
Usando este enfoque, primero convertimos el número binario a un número decimal. Luego convertimos este número decimal en un número octal extrayendo continuamente el resto y dividiéndolo por 8.
Algoritmo:
- Convierte el número binario a un número decimal.
- Ahora, para este número decimal convertido, ejecute un ciclo while hasta que este número se convierta en 0.
- En cada iteración del bucle, obtenga el resto dividiendo el número por 8.
- Multiplique este resto con potencias crecientes de 10.
- Finalmente divide el número original por 8.
Ejemplo:
Java
// Java program to convert binary to octal class GFG { // function to convert binary number // to decimal number int binaryToDecimal(long binary) { // variable to store the converted // decimal number int decimalNumber = 0, i = 0; // loop to convert binary to decimal while (binary > 0) { // extracting every digit of the // binary and multiplying with // increasing powers of 2 decimalNumber += Math.pow(2, i++) * (binary % 10); // dividing the number by 10 // to remove the last digit binary /= 10; } // returning the converted decimal // number return decimalNumber; } // function to convert decimal number // to octal int decimalToOctal(long binary) { // variable to store the octal number int octalNumber = 0, i = 0; // variable to store the output // returned by the binaryToDecimal() int decimalNumber = binaryToDecimal(binary); // loop to convert decimal to octal while (decimalNumber != 0) { // extracting the remainder on // multiplying by 8 and // dividing that with increasing // powers of 10 octalNumber += (decimalNumber % 8) * ((int)Math.pow(10, i++)); // removing the last digit by // dividing by 8 decimalNumber /= 8; } // returning the converted octal number return octalNumber; } // Driver Code public static void main(String[] args) { // instantiating the class GFG ob = new GFG(); // calling and printing the // decimalToOctal() function System.out.println(ob.decimalToOctal(1001001)); } }
111
Publicación traducida automáticamente
Artículo escrito por ag01harshit y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA