25-09-2010, 01:31
É 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
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