Convertir numero decimales a binario
Publicado por Francisco (10 intervenciones) el 18/02/2020 22:05:30
Tengo el código donde ingreso una cierta cantidad de números que van del 0 al 9 estos números los almaceno en un arreglo de tipo int después tengo que convertir cada uno de los números que hay en el arreglo en binario de 4 cifras es decir si en el arreglo se encuentra un 1 su equivalente en binario seria 0001 si ingreso el 4 su equivalente seria 0100 etc. Ya cuento con el código que me transforma los números a binario pero el problema es que si ingreso el 1 solo como binario 01 no se como agregar los ceros que faltan dejo mi código aquí:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
public static void main(String[] args) {
String f_h;
String fecha_hora;
fecha_hora = JOptionPane.showInputDialog(null, "Ingrese la fecha dd/mm/aa y la hora");
f_h = fecha_hora.replaceAll("/|\\s|:", "");
int[] digitos = new int[14];
String cad;
int ent;
char[] caracteres = f_h.toCharArray();
for (int i = 0; i < caracteres.length; i++) {
cad = Character.toString(caracteres[i]);
ent = Integer.parseInt(cad);
digitos[i] = ent;
}
for (int i = 0; i < digitos.length; i++) {
System.out.print(digitos[i]);
}
System.out.println("");
for (int i = 0; i < digitos.length; i++) {
System.out.println(obtenerBinario(digitos[i]));
}
}
public static String obtenerBinario(int numero) {
ArrayList<String> binario = new ArrayList<String>();
int resto;
String binarioString = "";
do {
resto = numero % 2;
numero = numero / 2;
binario.add(0, Integer.toString(resto));
} while (numero >= 2);
binario.add(0, Integer.toString(numero));
for (int i = 0; i < binario.size(); i++) {
binarioString += binario.get(i);
}
return binarioString;
}
}
Valora esta pregunta


0