En este artículo veremos el código fuente en Java para convertir un número decimal ingresado por el usuario a su equivalente en binario. No veremos como es el proceso, ya que este lo vimos cuando explicamos el Algoritmo. Para revisar la entrada haz clic aquí.
Veamos el código fuente en Java:
import java.util.Scanner; /** * * @author Andres */ public class DecimalABinario { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("Ingrese un número en el sistema decimal positivo"); int numero = scanner.nextInt(); String binario = ""; if (numero > 0) { while (numero > 0) { if (numero % 2 == 0) { binario = "0" + binario; } else { binario = "1" + binario; } numero = (int) numero / 2; } } else if (numero == 0) { binario = "0"; } else { binario = "No se pudo convertir el numero. Ingrese solo números positivos"; } System.out.println("El número convertido a binario es: " + binario); } }
Para probar este código vamos a ejecutarlo sobre el IDE de NetBeans. Convertiremos el número 13, es decir, que el resultado que nos debe arrojar el programa es 1101. Veamoslo:
Gracias, me fue de gran ayuda su aporte..like..
ResponderBorrargracias amigo tu código esta bien diseñado me ayudo de mucho...
ResponderBorrary como puedo hacer para que me lo vaya mostrando en columna?
ResponderBorrarSupongo que lo que quieres es que en vez de que se muestre en línea así: "1101", se muestre de forma vertical así:
Borrar1
1
0
1
Si esto es lo que quieres, tan sólo debes agregar un salto de línea cuando se está concatenando el binario de la siguiente forma:
if (numero % 2 == 0) {
binario = "0" + "\n" + binario;
} else {
binario = "1" + "\n" + binario;
}
Disculpa como le puedo hacer para que lo devuelva en string?
ResponderBorrarSi te fijas, el resultado se va concatenando en la variable "binario" que es de tipo String. Si lo que quieres es que el resultado te lo devuelva desde un método, lo que deberías es sacar el código que empieza desde donde se declara la variable binario (línea 13), hasta donde finaliza el último else (línea 27), y finalmente hacerle un return a la variable binario; recuerda que a este método se le debería pasar como parámetro la variable "numero" que es el valor que se ingresa y se desea convertir en binario
Borraruna pregunta porque dentro del else igualas la variable binario a 1
ResponderBorrarPuedes revisar la explicación del algoritmo en el siguiente enlace: http://www.eljavatar.com/2014/04/Algoritmo-Para-Convertir-Un-Numero-Decimal-a-Binario.html
BorrarMuchas gracias. Buen aporte!.
ResponderBorrar