Neste artigo
O que e aritmetica binaria?
Aritmetica binaria e matemática realizada em base 2, usando apenas os digitos 0 e 1. Todo computador digital processa dados como binarios no nivel do hardware -- inteiros, números de ponto flutuante, endereços de memoria e ate texto sao armazenados e manipulados como sequências de bits. Compreender o binario e essencial para programação de baixo nivel, redes e logica digital.
Alem da simples adição e subtração, a aritmetica binaria inclui operações bitwise: AND, OR, XOR, NOT e deslocamentos de bits. Estas operações trabalham em bits individuais e sao fundamentais para tarefas como definir flags de permissão, calcular checksums, mascarar endereços IP e otimizar código critico para desempenho.
Como funcionam as operações bitwise
Operadores bitwise processam inteiros bit a bit. Cada operação tem uma tabela verdade que define a saida para cada combinação de bits de entrada.
- AND, OR, XOR -- AND (&) retorna 1 apenas quando ambos os bits sao 1, OR (|) retorna 1 quando qualquer bit e 1, e XOR (^) retorna 1 quando os bits diferem. Usados para mascaramento, combinação de flags e alternancia de bits
- NOT e deslocamentos -- NOT (~) inverte todos os bits, deslocamento a esquerda (<<) multiplica por potências de 2, e deslocamento a direita (>>) divide por potências de 2. Deslocamento aritmetico a direita preserva o bit de sinal para números negativos
- Complemento de dois -- computadores modernos representam inteiros negativos usando complemento de dois, onde -1 e todos os bits em 1. Isto permite que o mesmo hardware realize tanto adição quanto subtração sem circuitos separados
Experimente gratuitamente — sem cadastro
Calcular operações binarias →Quando usar operações bitwise
Operações bitwise sao usadas em programação de sistemas, redes e aplicações sensiveis ao desempenho.
- Flags de permissão -- permissões de ficheiros Unix (rwxr-xr-x = 0755) usam campos de bits onde cada bit representa uma permissão especifica, verificada com AND e definida com OR
- Mascaras de sub-rede -- engenheiros de rede usam operações AND entre endereços IP e mascaras de sub-rede para determinar limites de rede e encaminhar trafego corretamente
- Gráficos e manipulação de cores -- cores de pixels armazenadas como inteiros 0xRRGGBB usam deslocamentos de bits e mascaras para extrair ou modificar canais individuais de vermelho, verde e azul
Perguntas frequentes
Qual e a diferença entre inteiros com sinal e sem sinal?
Inteiros sem sinal usam todos os bits para a magnitude, então um inteiro sem sinal de 8 bits vai de 0 a 255. Inteiros com sinal reservam o bit mais alto para o sinal (positivo ou negativo), então um inteiro com sinal de 8 bits vai de -128 a 127 usando complemento de dois. A escolha afeta como operações de deslocamento a direita e comparação se comportam.
Deslocamento de bits e o mesmo que multiplicar ou dividir por 2?
Deslocamento a esquerda por n posições e equivalente a multiplicar por 2^n para inteiros não negativos. Deslocamento a direita divide por 2^n, mas o comportamento para números negativos depende do tipo de deslocamento: aritmetico (preserva sinal) ou logico (preenche com zeros). Na maioria das linguagens, >> e aritmetico para tipos com sinal e >>> (onde disponivel) e logico.
Por que operações bitwise ainda sao relevantes em código moderno?
Operações bitwise sao usadas extensivamente em flags de funcionalidades, sistemas de permissões, protocolos de rede, criptografia, funções hash, renderização grafica e compressão de dados. Executam em um unico ciclo de CPU e não usam memoria adicional, tornando-as ideais para caminhos criticos de desempenho. Frameworks modernos também as usam internamente -- React usa para flags de efeitos e Linux para permissões de ficheiros.