Por favor, activa JavaScript y desactiva tu adblock para este sitio

El Javatar

Blog dedicado a la Programación en Java, C, PHP, Phyton, HTML, SQL y Mucho Más

viernes, 11 de abril de 2014

Como Convertir un Numero Decimal a Binario en Java

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:

Como Convertir un Numero Decimal a Binario en Java

4 comentarios:

  1. Gracias, me fue de gran ayuda su aporte..like..

    ResponderEliminar
  2. gracias amigo tu código esta bien diseñado me ayudo de mucho...

    ResponderEliminar
  3. y como puedo hacer para que me lo vaya mostrando en columna?

    ResponderEliminar
    Respuestas
    1. Supongo que lo que quieres es que en vez de que se muestre en línea así: "1101", se muestre de forma vertical así:
      1
      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;
      }

      Eliminar