Pular para o conteúdo principal

Postagens

Mostrando postagens com o rótulo Operador Bitwise

Dominando o operador de negação Bit a Bit (~) em Java: o inversor que confunde, mas encanta

Quando falamos de programação, há operadores que usamos o tempo todo sem pensar - como o + , o - , o == . E há outros, mais enigmáticos, que parecem ter saído de um laboratório secreto da computação. Um desses é o operador de negação bit a bit, o famoso ~. Hoje, vou te mostrar que ele não é nenhum bicho de sete cabeças. Pelo contrário: entender o ~  pode te levar a um nível mais profundo de domínio em Java  e em lógica computacional. O que é o operador ~? O operador ~ é chamado de bitwise NOT , ou negação bit a bit. Em vez de agir sobre valores booleanos ( true  ou false ), como o ! , ele trabalha com cada bit de um número inteiro, invertendo-os um a um: Onde era 1, vira 0. Onde era 0, vira 1. Exemplo direto: Saída:  Calma! Por que o resultado foi -6  e não algo como 250? Entendendo com clareza: complemento de dois A chave está em como números negativos são representados na memória. Java usa o sistema chamado complemento de dois . Quando aplicamos ~ ao número 5 ...

Operador de deslocamento à esquerda (<<): o atalho multiplica seu código em potência

Você sabia que pode multiplicar números de forma absurdamente rápida e elegante em Java... sem usar o operador * ? Pois é. Tem um truque escondido que quase ninguém ensina, mas que programadores mais experientes usam o tempo todo para melhorar performance, escrever códigos mais enxutos e entender como o computador pensa de verdade. Esse truque é o operador de deslocamento à esquerda , o famoso << .  Vamos explorar juntos o que ele faz, como funciona e por que você deveria conhecer esse operador como conhece o + , o -  ou o * . O que é o operador <<? Em Java, o operador <<   desloca os bits de um número para a esquerda. E o que isso significa? E o que isso significa? Cada vez que você move os bits uma posição para a esquerda, está multiplicando esse número por 2. Simples assim. E com performance absurda.  Exemplo visual O que aconteceu? Multiplicou por 2. Como num passe de mágica (mas é só matemática de bits). Deslocamento à esquerda = multiplicação ...