Saltar para o conteúdo
BCBinary Code Translator
Menu

Lógica binária de largura fixa

Calculadora bit a bit

Aplique operações lógicas e deslocamentos com largura escolhida, vendo o padrão e as interpretações com e sem sinal.

Máscaras e deslocamentos usam BigInt localmente, inclusive em 64 bits.

Padrão de bits

Ainda não há resultado

Padrão hexadecimal

Ainda não há resultado

Resultado sem sinal

Ainda não há resultado

Resultado com sinal

Ainda não há resultado

Operações sobre padrões de bits

Operações bit a bit tratam cada posição independentemente. AND mantém um bit quando ambos são um; OR mantém quando pelo menos um é um; XOR mantém quando diferem; NOT inverte todas as posições dentro da largura selecionada.

A largura é obrigatória porque NOT e deslocamentos precisam saber quais bits existem. Em oito bits, NOT 00001111 é 11110000; em dezasseis bits, o mesmo valor produz 1111111111110000.

Como usar

Defina operação, formato, sinal e largura antes de calcular.

  1. Escolha AND, OR, XOR, NOT, deslocamento à esquerda ou à direita.
  2. Selecione decimal, binário ou hexadecimal para os operandos.
  3. Para decimal, escolha leitura com sinal ou sem sinal; depois selecione 8, 16, 32 ou 64 bits.
  4. Introduza A e, quando necessário, B ou a quantidade de deslocamento.
  5. Clique em Calcular e compare o padrão com as duas leituras decimais.

Exemplos de lógica e deslocamento

Os exemplos usam oito bits, salvo indicação em contrário.

Operação Padrão resultante Explicação
10101010 AND 11001100 10001000 Apenas posições com um nos dois operandos sobrevivem.
10101010 OR 11001100 11101110 Qualquer posição ativa fica ativa.
10101010 XOR 11001100 01100110 Bits iguais tornam-se zero e bits diferentes tornam-se um.
NOT 00001111 11110000 Todos os oito bits são invertidos.
00110011 << 2 11001100 Zeros entram à direita; bits altos são descartados.
11110000 >> 2 com sinal 11111100 Deslocamento aritmético replica o bit de sinal.

Formato, largura e sinal

Binário aceita 0b e separadores; hexadecimal aceita 0x; decimal aceita um sinal conforme a semântica escolhida. Todo o valor deve caber no intervalo da largura. A ferramenta rejeita em vez de truncar a entrada.

O resultado é sempre mascarado para w bits. Quantidades negativas são rejeitadas; valores maiores ou iguais a w produzem zero no deslocamento à esquerda ou à direita lógico, enquanto um valor negativo no deslocamento aritmético permanece com todos os bits em 1.

  • AND, OR e XOR usam dois operandos.
  • NOT usa apenas A.
  • Deslocamentos usam A e uma quantidade decimal não negativa.
  • Deslocamento à direita é lógico sem sinal e aritmético com sinal.

Como a semântica é aplicada

As entradas são convertidas para um padrão sem sinal de w bits. Valores decimais negativos são codificados em complemento de dois somando 2^w.

AND, OR e XOR combinam padrões; NOT aplica XOR com uma máscara de w uns. O deslocamento à esquerda descarta bits acima da largura.

No deslocamento à direita sem sinal, zeros entram à esquerda. No modo com sinal, o padrão é interpretado como inteiro em complemento de dois e o operador replica o bit de sinal.

Usos práticos

Máscaras e deslocamentos aparecem em sistemas, protocolos e gráficos.

Flags e permissões

Ative, limpe e teste campos compactos.

Extração de campos

Combine deslocamentos e máscaras para ler subcampos.

Cores e píxeis

Separe canais ARGB ou componha valores compactos.

Emulação e redes

Valide registos, cabeçalhos e palavras de largura fixa.

Erros e limites

Resultados inesperados geralmente vêm de largura ou sinal incorretos.

Valor não cabe

Escolha largura maior ou corrija a interpretação; não há truncamento silencioso.

NOT sem largura

Inverter exige uma máscara finita; a largura define onde parar.

Deslocamento à direita ambíguo

Com sinal replica o bit principal; sem sinal insere zeros.

Deslocamento excessivo

Quantidades iguais ou maiores que a largura produzem zero nos deslocamentos à esquerda e à direita sem sinal; no deslocamento aritmético à direita, um valor negativo mantém todos os bits em 1.

Diferenças para outras ferramentas

Lógica posicional não é a mesma coisa que aritmética.

Calculadora binária

Soma e multiplicação usam transportes; operações bit a bit não.

Complemento de dois

Interpreta um padrão; esta página também o transforma.

Conversor de bases

Muda a escrita sem alterar bits; máscaras alteram o valor.

Operadores da linguagem

Muitas linguagens forçam 32 bits; aqui largura e sinal são explícitos até 64 bits.

Perguntas frequentes

Porque é que NOT precisa de largura?

Sem uma quantidade finita de bits não há limite para os zeros que seriam invertidos.

Qual a diferença entre >> com e sem sinal?

O modo com sinal replica o bit de sinal; o modo sem sinal insere zeros.

A entrada é truncada para a largura?

Não. Valores fora do intervalo são rejeitados antes da operação.

Posso trabalhar com 64 bits exatos?

Sim. BigInt preserva todos os bits.

Porque é que o mesmo resultado tem uma interpretação decimal positiva e outra negativa?

O padrão é idêntico; a interpretação em complemento de dois muda quando o bit principal é um.

Os valores são enviados?

Não. Máscaras, deslocamentos e formatação são efetuadas localmente.

Ferramentas relacionadas

Ver todas as ferramentas

Preferências de cookies

Gerir as preferências de cookies. Os cookies necessários não podem ser desativados.

Necessários

Obrigatório

Necessários para seleção de idioma, escolhas de privacidade e funcionalidades básicas do site.

Cookies: NEXT_LOCALE

Análises

Cookies opcionais de análise ajudam a entender o tráfego e melhorar o site.

Cookies: _ga, _gid, _gat, _clck, _clsk

Publicidade

Cookies opcionais de publicidade podem ser usados para mostrar anúncios relevantes e medir desempenho.

Cookies: __gads, _gcl_au, IDE