Convertir Int a Binario en Java

Rupam Yadav 12 octubre 2023
  1. Convertir Int a binario usando Integer.toBinaryString()
  2. Convertir Int a binario usando Integer.toString()
  3. Convierta Int a binario usando StringBuilder y un bucle
Convertir Int a Binario en Java

Un Número Binario se representa con dos dígitos binarios, el 0 y el 1. Podemos convertir un valor int en un valor binario en Java utilizando los tres métodos que se enumeran a continuación.

Convertir Int a binario usando Integer.toBinaryString()

La forma más común y sencilla de convertir un valor int a binario es utilizar la función toBinaryString() de la clase Integer. Integer.toBinaryString() toma un argumento de tipo int.

En el programa, almacenamos un valor int en una variable numInt y luego lo pasamos como argumento en el método Integer.toBinaryString() que devuelve una String.

public class JavaExample {
  public static void main(String[] args) {
    int numInt = 150;
    String binaryString = Integer.toBinaryString(numInt);
    System.out.println(binaryString);
  }
}

Producción :

10010110

Convertir Int a binario usando Integer.toString()

En este ejemplo, usamos otro método de la clase Integer: el método toString().

Integer.toString() toma dos argumentos en los que el segundo argumento es opcional. El primer argumento es el valor a convertir a String, y el segundo argumento es el valor de base para la conversión.

Para nuestro programa, necesitamos usar ambos argumentos de la función toString() para especificar la raíz 2, que representa los dígitos binarios 0 y 1. En palabras simples, cuando usamos la raíz 2, el int se convierte en un valor String que representa solo 0 y 1.

Imprimimos el resultado que es una representación binaria de numInt.

public class JavaExample {
  public static void main(String[] args) {
    int numInt = 200;
    String binaryString = Integer.toString(numInt, 2);
    System.out.println(binaryString);
  }
}

Producción :

11001000

Convierta Int a binario usando StringBuilder y un bucle

El último programa tiene un enfoque tradicional; en lugar de usar una función incorporada para convertir el valor int a binario, creamos nuestra función que hace el mismo trabajo.

En el siguiente código, creamos una función convertIntToBinary() que recibe el valor int como parámetro para convertir. Establecemos el tipo de retorno de la función como String.

Dentro del método convertIntToBinary(), primero comprobamos si la variable int numInt contiene un cero o no. Si es así, devolvemos 0 porque la representación binaria de 0 en int también es 0. Si es un valor entero distinto de cero, creamos una clase StringBuilder y un bucle while.

Ejecutamos el bucle hasta que numInt sea mayor que cero. En el bucle, realizamos tres pasos; la primera es encontrar el resto de numInt usando numInt % 2 y luego agregar el valor de remainder al StringBuilder.

Para el último paso, dividimos el valor de numInt entre 2 y lo almacenamos en numInt mismo. Una vez que hemos realizado todos los pasos y estamos fuera del bucle, invertimos el valor de stringBuilder para obtener el resultado correcto y devolvemos el resultado después de convertir el valor de stringBuilder en una String.

En el método main(), tomamos la entrada del usuario y la pasamos al método convertIntToBinary() que devuelve el resultado binario.

import java.util.Scanner;

public class JavaExample {
  public static void main(String[] args) {
    System.out.println("Enter a number to convert it to a binary: ");
    Scanner scanner = new Scanner(System.in);
    int getIntNum = scanner.nextInt();

    String getConvertedResult = convertIntToBinary(getIntNum);
    System.out.println("Converted Binary: " + getConvertedResult);
  }

  static String convertIntToBinary(int numInt) {
    if (numInt == 0)
      return "0";

    StringBuilder stringBuilder = new StringBuilder();

    while (numInt > 0) {
      int remainder = numInt % 2;
      stringBuilder.append(remainder);
      numInt /= 2;
    }

    stringBuilder = stringBuilder.reverse();
    return stringBuilder.toString();
  }
}

Producción :

Enter a number to convert it to a binary: 
150
Converted Binary: 10010110
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

Artículo relacionado - Java Integer

Artículo relacionado - Java Binary