0% encontró este documento útil (0 votos)
56 vistas9 páginas

Reto 3 Programacion

Este documento describe un programa de conversión de bases numéricas que permite convertir entre decimal, binario, octal y hexadecimal. El programa muestra un menú con las opciones de conversión disponibles y solicita al usuario ingresar un número a convertir. Luego el programa realiza la conversión correspondiente mediante métodos y devuelve el resultado al usuario. El programa se repite hasta que el usuario decida salir.

Cargado por

Angel Martinez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
56 vistas9 páginas

Reto 3 Programacion

Este documento describe un programa de conversión de bases numéricas que permite convertir entre decimal, binario, octal y hexadecimal. El programa muestra un menú con las opciones de conversión disponibles y solicita al usuario ingresar un número a convertir. Luego el programa realiza la conversión correspondiente mediante métodos y devuelve el resultado al usuario. El programa se repite hasta que el usuario decida salir.

Cargado por

Angel Martinez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 9

 

R E T O 3.

MATERIA:PROGRAMACION
ORIENTADA A OBJETOS.

ALUMNO: ANGEL GABRIEL


MARTINEZ MORENO.

MATRICULA: 3004203.
PROFESOR: IRIS GABRIELA
ARRONDA CARDOZA.

Realiza un programa que sea útil para apoyar a los chicos que tienen problemas de conversiones
entre bases numéricas. Poder llevar a cabo lo siguiente:

o El programa desplegará el menú de conversiones siguiente:


 Convertir de decimal a binario.
 Convertir de decimal a octal.
 Convertir de binario a decimal.
 Convertir de octal a decimal.
 Convertir de hexadecimal a decimal.

o Para cada una de las opciones el programa solicitará el número a convertir.


o El programa deberá realizar todas las conversiones necesarias hasta que el usuario no
desee continuar.
o La lógica de cada conversión se incluirá en un método.
o La salida del programa deberá ser algo como lo siguiente:

import java.io.*;

/**

* @author Angel
*/

public class OtroReto3 {

public static long decimalAbinario (int num)

int divisorio = num;

int cociente;

int aux = 1;

long resultado = 0;

do {

cociente=divisorio%2;

divisorio=divisorio/2;

resultado += cociente*aux;

aux *= 10;

} while (divisorio!=0);

return resultado;

public static long binarioAdecimal (long num) {

double potencia = 0;

long NUMERO=0;

while(num != 0)

NUMERO=num%10;

num = num+NUMERO *(long) Math.pow(2, potencia);

num /= 10;

potencia ++;

return NUMERO;
}

public static String decimalAOctal(int fraccion) {

int residuo;

String octal = "";

char[] caracteresOctales = {'0', '1', '2', '3', '4', '5', '6', '7'};

while (fraccion > 0) {

residuo = fraccion % 8;

char caracter = caracteresOctales[residuo];

octal = caracter + octal;

fraccion = fraccion / 8;

return octal;

public static String decimalAHexadecimal(int fraccion) {

int residuo;

String hexadecimal = "";

char[] caracteresHexadecimales = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};

while (fraccion > 0) {

residuo = fraccion % 16;

char caracterHexadecimal = caracteresHexadecimales[residuo];

hexadecimal = caracterHexadecimal + hexadecimal;

fraccion = fraccion / 16;

return hexadecimal;

public static int octalADecimal(int octal) {

int decimal = 0;

int potencia = 0;

// Ciclo infinito que se rompe cuando octal es 0


while (true) {

if (octal == 0) {

break;

} else {

int temp = octal % 10;

decimal += temp * Math.pow(8, potencia);

octal = octal / 10;

potencia++;

return decimal;

public class Main {

public static void main(String[] args) {

int decimales[] = { 16777215, 12, 21 };

for (int fraccion : decimales) {

String hexadecimal = Integer.toHexString(fraccion);

System.out.printf("Usando Integer.toHexString el decimal %d es %s\n", fraccion, hexadecimal);

hexadecimal = decimalAHexadecimal(fraccion);

System.out.printf("Usando decimalAHexadecimal el decimal %d es %s\n", fraccion, hexadecimal);

public static String decimalAHexadecimal(int fraccion) {

String hexadecimal = "";

String caracteresHexadecimales = "0123456789abcdef";

while (fraccion > 0) {

int residuo = fraccion % 16;


hexadecimal = caracteresHexadecimales.charAt(residuo) + hexadecimal; // Agregar a la izquierda

fraccion /= 16;

return hexadecimal;

public static int hexadecimalADecimal(String hexadecimal) {

String caracteresHexadecimales = "0123456789ABCDEF";

hexadecimal = hexadecimal.toUpperCase();

int fraccion = 0;

for (int i = 0; i < hexadecimal.length(); i++) {

char caracter = hexadecimal.charAt(i);

int posicionEnCaracteres = caracteresHexadecimales.indexOf(caracter);

fraccion = 16 * fraccion + posicionEnCaracteres;

return fraccion;

public static BufferedReader Input = new BufferedReader(new InputStreamReader(System.in));

public static void main(String[] args) throws IOException{

char o;

int num;

int retorno;

int decimal, octal;

String hexadecimal;

System.out.println("* Programa de conversiones *");


do{

System.out.println("Seleccione la opcion que desee");

System.out.println("OPCION A. Decimal a binario");

System.out.println("OPCION B. Decimal a octal");

System.out.println("OPCION C. Decimal a hexadecimal");

System.out.println("OPCION D. Binario a decimal");

System.out.println("OPCION E. Octal a deimal");

System.out.println("OPCION F. Hexadecimal a decimal");

o = Input.readLine().charAt(0);

switch(o){

case 'a' -> {

System.out.println("Decimal a binario: ");

System.out.println("¿Que numero desea convertir?");

num = Integer.parseInt(Input.readLine());

decimalAbinario(num);

System.out.println("Resultado: "+decimalAbinario(num));

case 'b' -> {

System.out.println("Decimal a octal: ");

System.out.println("¿Que numero desea convertir?");

decimal = Integer.parseInt(Input.readLine());

decimalAOctal(decimal);

System.out.println("Resultado: "+decimalAOctal(decimal));

case 'c' -> {

System.out.println("Decimal a hexadecimal:");

System.out.println("¿Que numero desea convertir?");

decimal = Integer.parseInt(Input.readLine());

decimalAHexadecimal(decimal);
System.out.println("Resultado: "+decimalAHexadecimal(decimal));

case 'd' -> {

System.out.println("Binario a decimal: ");

System.out.println("¿Que numero desea convertir?");

num = Integer.parseInt(Input.readLine());

binarioAdecimal(num);

System.out.println("Resultado: "+binarioAdecimal(num));

case 'e' -> {

System.out.println("Octal a decimal");

System.out.println("¿Que numero desea convertir?");

octal = Integer.parseInt(Input.readLine());

octalADecimal(octal);

System.out.println("Resultado: "+octalADecimal(octal));

case 'f' -> {

System.out.println("Hexadecimal a decimal: ");

System.out.println("¿Que numero desea convertir?");

hexadecimal = Input.readLine();

hexadecimalADecimal(hexadecimal);

System.out.println("Resultado: "+hexadecimalADecimal(hexadecimal));

System.out.println("¿Desea repetir el proceso? 1 para si 2 para salir");

retorno = Integer.parseInt(Input.readLine());

}while(retorno==1);

También podría gustarte