Bitwise em Java

4 respostas
H

Boa tarde pessoal, preciso fazer um somador/subtrator em binário, e gostaria de saber como faço para “inicializar” uma variavel com tudo zero.

Ex. : int x = 000000000000;

com os 32 bits zerados;

Também gostaria de saber como alterar apenas parte dos zeros não todos.

Ex.: int y = 0000001110000;

Desde já agradeço a atenção de todos.

4 Respostas

H

Esqueci… preciso saber tambem como fazer o carry para a direita e para a esquerda… em c é >> ou << mais e em Java?

E
  1. Se usar o Java 7 você já tem a notação binária. Se usar o Java 6 é melhor representar o número em hexadecimal ou octal (use o que for mais confortável).

  2. Java não tem o conceito de “carry” mas só o de “shift”; há o shift para a esquerda ("<<"), o shift aritmético para a direita (">>") e o shift lógico para a direita (">>>"). A diferença entre o shift aritmético e o lógico é que o bit mais significativo é copiado no caso de “>>” e é completado com o bit zero no caso de “>>>”.

  3. Para alterar alguns bits você precisa usar as operações AND (&), OR (|) e NOT (~).

H

Poxa, eu não entendi o que você quiz dizer. Você poderia me explicar de uma forma diferente!?

H

Eu não consigo vizualizar isso no código. Eu na verdade entendi o que você uiz dizer só não vejo como escrever isso no código.

Criado 21 de setembro de 2011
Ultima resposta 21 de set. de 2011
Respostas 4
Participantes 2