Programa Java para conversión de decimal a octal

Dado un número decimal N, convierta N en un número octal equivalente, es decir, convierta el número con valor base 10 en valor base 8. El sistema de números decimales usa 10 dígitos 0-9 y el sistema de números octales usa 8 dígitos de 0-7 para representar cualquier valor numérico.

Ilustración: 

Input : 33
Output: 41

Input : 10
Output: 12

Enfoque 1:

  1. Almacene el resto cuando el número se divide por 8 en una array.
  2. Divide el número por 8 ahora
  3. Repita los dos pasos anteriores hasta que el número no sea igual a 0.
  4. Imprima la array en orden inverso ahora.
     
decToOctal

Ejemplo de conversión del número decimal 33 a un número octal equivalente. 

Ejemplo:

Java

// Java program to convert a Decimal Number to Octal Number
 
// Importing input output classes
import java.io.*;
 
// Main class
class GFG {
 
    // Method
    // To convert decimal to octal
    static void decToOctal(int n)
    {
        // Creating an Integer array of
        // array to store octal number
        int[] octalNum = new int[100];
 
        // counter for octal number array
        int i = 0;
        while (n != 0) {
 
            // Storing remainder in octal array
            octalNum[i] = n % 8;
            n = n / 8;
            i++;
        }
 
        // Printing octal number array in reverse order
        for (int j = i - 1; j >= 0; j--)
            System.out.print(octalNum[j]);
    }
 
    // Method 2
    // Main driver method
    public static void main(String[] args)
    {
        // Custom input Integer number
        int n = 33;
 
        // Calling the above method to convert
        // Decimal to Octal number
        decToOctal(n);
    }
}
Producción

41

Complejidad de tiempo: O (log N) 

Enfoque 2:

  • Inicialice ocatalNum con 0 y countVal con 1 y el número decimal como n
  • Calcular el resto cuando el número decimal dividido por 8
  • Actualice el número octal con octalNum + (resto * countval)
  • Incrementar el contador por contador*10
  • Divide el número decimal por 8
  • Repita desde el paso 2 hasta que el número decimal sea cero

Ejemplo: 

Java

// Java Program to Convert Decimal Number to Octal Number
 
// Importing input output classes
import java.io.*;
 
// Main class
class GFG {
 
    // Method 1
    // To calculate the octal value of the given
    // decimal number
    static void decimaltooctal(int deciNum)
    {
 
        // Initially declaring and initializing the
        // octal number with zero
        int octalNum = 0, countval = 1;
        int dNo = deciNum;
 
        // Condition check
        while (deciNum != 0) {
 
            // Decimals remainder is calculated
            int remainder = deciNum % 8;
 
            // Storing the octalvalue
            octalNum += remainder * countval;
 
            // Storing exponential value
            countval = countval * 10;
            deciNum /= 8;
        }
 
        // Print and display the octal number
        System.out.println(octalNum);
    }
 
    // Method 2
    // Main driver method
    public static void main(String[] args)
    {
        // Custom input decimal number
        int n = 33;
 
        // Calling the Method1 to convert above number
        // to Octal number system
        decimaltooctal(n);
    }
}
Producción

41

Complejidad de tiempo: O (log N)
Espacio auxiliar: O (1)

Publicación traducida automáticamente

Artículo escrito por mayur_patil 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 *