Introducción
En este laboratorio, aprenderemos cómo convertir un entero a binario en Java. Hay varios métodos para realizar esta conversión, y cubriremos los métodos más comúnmente utilizados.
💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí
En este laboratorio, aprenderemos cómo convertir un entero a binario en Java. Hay varios métodos para realizar esta conversión, y cubriremos los métodos más comúnmente utilizados.
El método toBinaryString()
es la forma más fácil de convertir un entero en una cadena binaria. Este método es un método de la clase Integer que devuelve una cadena después de convertir el int a binario.
public static String toBinaryString(int val)
Aquí, val
es el valor al que queremos convertir al sistema numérico binario. Este método devolverá el valor binario en formato de cadena.
public class IntegerToBinaryConverter {
public static void main(String[] args) {
int val = 183;
System.out.println("Value in binary system is: " + Integer.toBinaryString(val));
}
}
Salida: Value in binary system is: 10110111
Este método es completamente matemático. Declaramos una matriz de enteros de tamaño 32 considerando la representación binaria de 32 bits. Cada vez que dividimos un número entre 2 y almacenamos el residuo dentro de la matriz de enteros. Al final, para obtener el resultado, lo recorremos en sentido inverso.
public class IntegerToBinaryConverter {
public static void main(String[] args) {
int val = 183;
int num[] = new int[32];
int pos = 0;
while (val > 0) {
num[pos++] = val % 2;
val = val / 2;
}
System.out.print("Value in binary system is: ");
for (int i = pos - 1; i >= 0; i--) {
System.out.print(num[i]);
}
}
}
Salida: Value in binary system is: 10110111
Utilizando el operador de desplazamiento a la derecha, podemos dividir cualquier valor a la mitad, y dado que estamos trabajando a nivel de bits, es una operación de muy bajo costo; y el resto de las cosas es igual que la mencionada en el ejemplo anterior. Al final, estamos imprimiendo el valor utilizando el valor invertido que se almacena en un objeto StringBuilder para que quede en forma binaria correctamente.
public class IntegerToBinaryConverter {
public static void main(String[] args) {
int val = 183;
StringBuilder binary = new StringBuilder(32);
while (val > 0) {
binary.append(val % 2);
val >>= 1;
}
binary.reverse().toString();
System.out.print("Value in binary system is: " + binary.reverse().toString());
}
}
Salida: Value in binary system is: 10110111
Hay otra forma interesante en la clase java.lang.Integer
mediante el uso del método Integer.toString()
, que acepta el primer argumento como un número y el segundo como una base (aquí la base es la base del sistema numérico), que puede ser 2 para binario, 8 para octal, 16 para hexadecimal; en nuestro caso, estableceremos la base en 2 para el número binario.
public class IntegerToBinaryConverter {
public static void main(String[] args) {
int val = 183;
System.out.print("Value in binary system is: " + Integer.toString(val, 2));
}
}
Salida: Value in binary system is: 10110111
En este laboratorio, aprendimos cómo convertir un entero al sistema numérico binario en Java utilizando cuatro métodos diferentes. El primer método es utilizar el método integrado toBinaryString()
, el segundo es utilizar el método de división larga, el tercero es utilizar la manipulación de bits y el cuarto es utilizar el método Integer.toString()
.
Cada método tiene sus propias ventajas y desventajas, y puedes utilizar el que se ajuste mejor a tus necesidades.