Colocar Resposta 
 
Avaliação do Tópico:
  • 0 votos - 0 Média
  • 1
  • 2
  • 3
  • 4
  • 5
java Binary mask
25-09-2010, 01:31
Mensagem: #1
java Binary mask
É o seguinte,
tenho um valor lido do teclado não superior a 255(valor máximo de 8bits) , por exemplo o 158 e vou converte-lo para binário usando String bits = Integer.toBinaryString(val); , obtenho o resultado 10011110 .
A minha duvida está agora aqui. Queria fazer um AND bit a bit com uma mask ( 00001111 ou 0x0F ) para poder obter os 4bits de menor peso do valor lido (ou seja ficar com o resultado (1110)). E a partir deste poder converter para decimal.

Será que alguém me consegue explicar como é feito isto? já pesquisei varias coisas sobre masks e Bitwise mas nao consegui perceber como isso funciona

[Imagem: assinqz4.png]
[Imagem: pplware_reader.png]
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
25-09-2010, 09:25
Mensagem: #2
RE: java Binary mask
Estás a complicar o problema:

Código:
val & 0x0F

[Imagem: pplware_moderator.png]
http://twitter.com/ferreira
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
25-09-2010, 10:24 (Esta mensagem foi modificada pela última vez a: 25-09-2010 10:27 por peska.)
Mensagem: #3
RE: java Binary mask
pois eu tambem tinha feito isso mas nao me ta a dar o resultado certo.

Edit:
ah ok... agora é que percebi o que tava a fazer mal.... e realmente a complicar bastante. o que eu tava a fazer era meter no parâmetro (val) os bits e nao o valor em si ( decimal ).

Obrigado pela ajudar

[Imagem: assinqz4.png]
[Imagem: pplware_reader.png]
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
25-09-2010, 10:26
Mensagem: #4
RE: java Binary mask
Testei agora e está a funcionar. Podes dizer qual o resultado que dá?

[Imagem: pplware_moderator.png]
http://twitter.com/ferreira
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
25-09-2010, 10:38
Mensagem: #5
RE: java Binary mask
Se calhar não chegaste a reparar que editei a mensagem acima, mas já está a funcionar. Estava a meter bits em vez do valor decimal.

[Imagem: assinqz4.png]
[Imagem: pplware_reader.png]
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
Colocar Resposta 


Saltar Fórum:


Utilizadores a ver este tópico: 1 Visitante(s)