0010 é, em Java, um número octal, cujo valor é 10 em base 8, ou 8 em base 10 (que é a usada).
Em vez disso, use Integer.toBinaryString (2), que irá retornar a string “10”.
Para pôr zeros à esquerda, é necessário completar com zeros à esquerda.
B
Bruno_Laturner
Para imprimir zeros à esquerda:
System.out.printf("%020d\n",10);// 20 casas no total
S
silvanojava
Então o problema maior que é o seguinte preciso de uma List e na posição 0 deve conter um integer 0010 ao invés de 10.
T
thingol
Uai,
List<Integer>inteiros=newArrayList<Integer>();inteiros.add(Integer.parseInt("0010",2));// a posição 0 conterá o valor 0010 em binário, que é 2 em decimal.
S
silvanojava
thingol:
Uai,
List<Integer> inteiros = new ArrayList<Integer>();
inteiros.add (Integer.parseInt ("0010", 2)); // a posição 0 conterá o valor 0010 em binário, que é 2 em decimal.
Então só que ele imprimi 2 ao invés de 0010.
T
thingol
Os zeros à esquerda ficam por sua conta.
fantomas
DecimalFormat df = new DecimalFormat("#00000");
System.out.println(df.format(Integer.parseInt("10")));
flws
T
thingol
silvanojava:
thingol:
Uai,
List<Integer> inteiros = new ArrayList<Integer>();
inteiros.add (Integer.parseInt ("0010", 2)); // a posição 0 conterá o valor 0010 em binário, que é 2 em decimal.
Então só que ele imprimi 2 ao invés de 0010.
Hum… você não entendeu o que é a representação decimal ou binária ou octal de um número.
Números são sempre números, e representam medidas, quantidades, contagens etc… Por exemplo, tanto faz se você ganha R$2500,00 ou US$1000,00 (se o dólar estiver a R$2,50), você está ganhando a mesma quantidade de dinheiro.
Da mesma forma, tanto faz se você tiver a representação 10 (em decimal) ou 1010 (em binário) ou A (em hexadecimal) ou 12 (em octal); todas essas representações indicam o número de dedos em ambas as mãos (dez).
Quando eu pus Integer.parseInt (“0010”, 2), eu peguei a representação binária do valor 0010, e converti para um número, que é dois.
Quando você imprimiu esse número , saiu o valor “2” (em decimal), porque você não especificou que queria ver o valor em binário.
Para especificar que quer ver um valor em binário no Java, é necessário usar Integer.toBinaryString (x) ou então Integer.toString (x, 2).