java string binary base-conversion

Base 10 a base de conversión 2,8,16 en java



string binary (2)

Esta pregunta ya tiene una respuesta aquí:

Estoy en esta clase orientada a objetos, pero simplemente no sé cómo hacer esto. Conozco los fundamentos básicos pero nada como esto. Se me pide que cree un programa que convierta la base 10 de # a la base 2, la base 8 y la base 16. Luego, después de que se nos solicite convertirlo de 2,8,16 a la base 10. He reunido algo de información de otros sitios web y en realidad terminé editando un poco. ¡Por favor ayuda! Preferiría que ustedes realmente me ayudaran y se corrijan y me lo envíen, pero si eso es demasiado pedir, intenten guiarme a través de él ya que no sé mucho de Java. Hasta ahora tengo:

import java.util.Scanner; public class baseconverterr { public static void main(String[] args) { // Read the conversion choice from the user System.out.println("Choose 1 or 2 or 3:"); System.out.println("1: conversion from base 10 to base 2 "); System.out.println("2: conversion from base 10 to base 8"); System.out.println("3: conversion from base 10 to base 16"); // do you want 1, 2 , or 3? you have your choice Scanner in = new Scanner(System.in); int choice = in.nextInt(); String string = in.nextLine(); // Read in the number to be converted and do the conversion String output= ""; System.out.println("Please enter the number to be converted:"); int input = in.nextInt(); if (choice == 1) // if the user chooses choice #1, it will convert from base 10 to base 2 output = Integer.toString(input, 2); else if (choice == 2) output = Integer.toString(input, 8); // if the user chooses choice #2, it will convert from base 10 to base of 8 else if (choice == 3) output = Integer.toString(input, 16); // if the user chooses choice #3, it will convert from base 10 to base 16 else System.out.println("invalid entry"); // everything else, it is invalid System.out.println("final output=" + output); // this prints the final output.


para un decimal x (base 10) puede usar respectivamente para conversión binaria, octal, hex

Integer.toString(x, 2) ,

Integer.toString(x, 8)

Integer.toString(x, 16) .

luego para convertirlo nuevamente a decimal, respectivamente a partir de la conversión binaria, octal y hexadecimal

Integer.valueOf(binary_value, 2)

Integer.valueOf(octal_value, 8)

Integer.valueOf(hex_value, 16)

en tu código, cambia lo siguiente:

output = Integer.toString(input, 16) //replace 16 for hex, 8 for octal, 2 for binary


utilizar esta

if (choice == 1) output = Integer.toString(input, 2); else if (choice == 2) output = Integer.toString(input, 8); // if the user chooses choice #2, it will convert from base 10 to base of 8 else if (choice == 3) output = Integer.toString(input, 16); else System.out.println("invalid entry");