Bitwise em Java

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.

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

  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 (~).

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

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.