Mostrar binario de um numero

Ouvi dizer sobre um metodo q devolve o valor binario de um numero
e nao consegui me lembrar disso… alguem ai pode dar uma forcinha ??
existe mesmo este metodo??? no pacote de qual classe posso procurar ??

agradeço a ajuda!!!

:smiley:

      int b = -10;
      String sb = Integer.toBinaryString(b);
      System.out.println("-10 in binary: "+sb);

Integer.toBinaryString

:wink:

A dica do colega resolve o problema.

Para saber mais va na documentação da classe “Integer”, lá terá o detalhamento de todos os métodos disponíveis nesta classe.

Valeu Galera… abraçoss!!!

Surgiu um novo problema agora,
Estou querendo montar uma apresentacao de como funciona o casting no java
e tinha lido sobre mostrar o codigo binario, mas do jeito que passaram acima
ele ta convertendo para uma para um integer, e na hora de mostrar o codigo binario mostra com 32bits, e queria mostrar com 8bits

short a = 128;
byte b = (byte) a;
String mostra1,mostra2;
mostra1 = Integer.toBinaryString(a);
mostra2 = Byte.toBinaryString(b);
System.out.println(a);
System.out.println(mostra1);
System.out.println(b);
System.out.println(mostra2);

este caso tem solução ??
ja dei uma procurada na api na classe Byte, mas nao achei nada do tipo.
alguem pode dar uma outra ajdua ae!!!

Obrigado!!

 String palavra = "Douglas Hiura";
 System.out.print(palavra+" :");
 
  for (int i = 0; i < palavra.length(); i++) {
	System.out.print(" "+Integer.toBinaryString(palavra.codePointAt(i)));
 }

[quote=travis182]Surgiu um novo problema agora,
Estou querendo montar uma apresentacao de como funciona o casting no java
e tinha lido sobre mostrar o codigo binario, mas do jeito que passaram acima
ele ta convertendo para uma para um integer, e na hora de mostrar o codigo binario mostra com 32bits, e queria mostrar com 8bits

short a = 128;
byte b = (byte) a;
String mostra1,mostra2;
mostra1 = Integer.toBinaryString(a);
mostra2 = Byte.toBinaryString(b);
System.out.println(a);
System.out.println(mostra1);
System.out.println(b);
System.out.println(mostra2);

este caso tem solução ??
ja dei uma procurada na api na classe Byte, mas nao achei nada do tipo.
alguem pode dar uma outra ajdua ae!!!

Obrigado!![/quote]

Não acho que você vá conseguir com a API do Java. O Java transforma o resultado de quase todas as operações com byte e short em int, sem falar que ele reclama bastante quando você quer dar um downcast de int pra short ou byte. Tem bastante lógica, já que Java é uma linguagem voltada para aplicações comportativas, não para desenvolvimento de sistemas operacionais ou algo do tipo. Talvez seja diferente no Java Micro Edition.

A idéia é você pegar a string e podar todos os bits, exceto os últimos 8.

Exemplo:

byte b = (byte) 0xAA; // 10101010
String s;
if (b < 0) {
    s = Integer.toBinaryString (b); // deve ser algo como "11111111111111111111111110101010"
    s = s.substring (s.length() - 8); // deve mostrar os últimos 8 dígitos, como "10101010"
} else {
    s = "0000000" + Integer.toBinaryString (b);  // isto completa com zeros à esquerda.
    s = s.substring (s.length() - 8); 
}