Calculadora Binária
Realize adição, subtração, multiplicação e divisão binárias. Converta entre binário e decimal. Calculadora matemática gratuita com resultados instantâneos e precisos.
O Sistema de Números Binários: Como os Computadores Contam
O sistema de números binários (base-2) utiliza apenas dois dígitos — 0 e 1 — chamados de bits (dígitos binários). Toda máquina, smartphone e dispositivo digital armazena e processa internamente todas as informações em binário, porque os circuitos elétricos podem representar com confiabilidade dois estados distintos: alta tensão (1) e baixa tensão (0).
Cada posição em um número binário representa uma potência de 2, aumentando da direita para a esquerda:
| Posição | 2⁷ | 2⁶ | 2⁵ | 2⁴ | 2³ | 2² | 2¹ | 2⁰ |
|---|---|---|---|---|---|---|---|---|
| Valor | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
Conversão de binário para decimal: Multiplique cada bit pelo seu valor de lugar e some todos os resultados.
Exemplo: 10110101₂ = 1×128 + 0×64 + 1×32 + 1×16 + 0×8 + 1×4 + 0×2 + 1×1 = 128 + 32 + 16 + 4 + 1 = 181
Conversão de decimal para binário: Divida repetidamente por 2, registrando o resto em cada etapa, então leia os restos da parte inferior para cima.
Exemplo: Converta 181 para binário:
- 181 ÷ 2 = 90 resto 1
- 90 ÷ 2 = 45 resto 0
- 45 ÷ 2 = 22 resto 1
- 22 ÷ 2 = 11 resto 0
- 11 ÷ 2 = 5 resto 1
- 5 ÷ 2 = 2 resto 1
- 2 ÷ 2 = 1 resto 0
- 1 ÷ 2 = 0 resto 1
Ler restos da parte inferior para cima: 10110101₂ ✓
Aritmética Binária: Adição, Subtração e Multiplicação
A aritmética binária segue as mesmas regras que o decimal, mas os acarretes ocorrem em 2 em vez de 10.
Regras de adição binária: 0+0=0, 0+1=1, 1+0=1, 1+1=10 (acarrete 1), 1+1+1=11 (acarrete 1)
Exemplo: 1011₂ + 1101₂ (11 + 13 = 24)
1011 + 1101 ------ 11000
Trabalhando da direita para a esquerda: 1+1=10 (escreva 0, acarrete 1); 1+0+1=10 (escreva 0, acarrete 1); 0+1+1=10 (escreva 0, acarrete 1); 1+1+1=11 (escreva 1, acarrete 1); o acarrete final escreve 1. Resultado: 11000₂ = 24 ✓
Complemento de dois (subtração binária): Os computadores lidam com números negativos e subtração usando a representação de complemento de dois. Para encontrar o complemento de dois de um número: inverte todos os bits, em seguida, adicione 1.
Exemplo: −13 em 8-bit complemento de dois: +13 = 00001101₂ → inverter todos os bits → 11110010₂ → adicione 1 → 11110011₂
Isto permite que a subtração seja realizada como adição: 20 − 13 = 20 + (−13).
Multiplicação binária é elegante: cada produto parcial é 0 (multiplicando por 0) ou o número mesmo (multiplicando por 1), deslocado para a esquerda. Exemplo: 1011₂ × 101₂ (11 × 5 = 55):
1011
× 101
-----
1011 (1011 × 1)
0000 (1011 × 0, deslocado)
1011 (1011 × 1, deslocado duas vezes)
-------
110111₂ = 55 ✓
Binário em Computação: Bits, Bytes e Tamanhos de Dados
Entender unidades binárias é essencial para qualquer pessoa trabalhando com computadores, armazenamento ou velocidades de rede:
| Unidade | Tamanho | Valor Máximo (sem sinal) | Uso Comum |
|---|---|---|---|
| Bit | 1 dígito binário | 1 | Flag lógica, valor binário único |
| Nibble | 4 bits | 15 (hex: F) | Um dígito hexadecimal |
| Byte | 8 bits | 255 | Um caractere (ASCII), canal de cor |
| Palavra | 16 bits | 65.535 | Sistemas 16-bit legados, Unicode básico |
| Palavra Dupla (DWORD) | 32 bits | 4.294.967.295 | Inteiros de 32 bits, endereços IPv4 |
| Palavra Quadrada (QWORD) | 64 bits | 18.446.744.073.709.551.615 | Inteiros modernos, ponteiros, timestamps |
Valores de cor: As cores da web usam 24-bit RGB (8 bits por canal). #FF5733 = R:255, G:87, B:51. Cada canal de 8 bits pode representar 256 tons (0–255). Total de cores possíveis: 256³ = 16.777.216 (cerca de 16,7 milhões).
Permissões de arquivo em Unix/Linux: rwxr-xr-- = 111 101 100 em binário = 7, 5, 4 em octal = chmod 754. Cada conjunto de 3 bits representa permissões de leitura (r=4), gravação (w=2) e execução (x=1) para proprietário, grupo e outros.
Operações Bit a Bit e Suas Aplicações
As operações bit a bit manipulam bits individuais dentro de inteiros. Elas são fundamentais para programação de baixo nível, criptografia, programação de rede e código de alto desempenho.
| Operação | Símbolo | Comportamento | Exemplo |
|---|---|---|---|
| AND | & | 1 se AMBOS bits forem 1 | 1010 & 1100 = 1000 |
| OU | | | 1 se QUALQUER bit for 1 | 1010 | 1100 = 1110 |
| XOR | ^ | 1 se os bits forem DIFERENTES | 1010 ^ 1100 = 0110 |
| NÃO | ~ | Inverter todos os bits | ~1010 = 0101 |
| Deslocamento para a Esquerda | << | Deslocar bits para a esquerda (×2 cada deslocamento) | 1011 << 1 = 10110 (×2) |
| Deslocamento para a Direita | >> | Deslocar bits para a direita (÷2 cada deslocamento) | 1011 >> 1 = 0101 (÷2) |
Uso prático:
- Máscara de bits: Verificar se um determinado bit está definido:
if (flags & 0b0100) { ... }— verifica se o bit 2 está definido. - Definir um bit:
flags = flags | 0b0100— define o bit 2 para 1, independentemente do valor atual. - Desativar um bit:
flags = flags & ~0b0100— desativa o bit 2 para 0. - Multiplicação/divisão rápida por potências de 2:
n << 3= n × 8;n >> 2= n ÷ 4. Deslocamentos de bits são operações de nível de CPU, significativamente mais rápidas do que a multiplicação. - Verificar se é par/ímpar:
if (n & 1) { /* ímpar */ }— o último bit de qualquer número ímpar sempre é 1.
Comparação de Sistemas Numéricos: Binário, Ocatál, Decimal, Hexadecimal
A ciência da computação utiliza quatro sistemas numéricos, cada um adequado a diferentes contextos:
| Sistema | Base | Dígitos | Uso Comum |
|---|---|---|---|
| Binário (base-2) | 2 | 0, 1 | Operações de CPU, armazenamento, lógica |
| Ocatál (base-8) | 8 | 0–7 | Permissões de arquivos Unix, sistemas mais antigos |
| Decimal (base-10) | 10 | 0–9 | Números legíveis por humanos |
| Hexadecimal (base-16) | 16 | 0–9, A–F | Endereços de memória, códigos de cor, código de máquina |
Conversão rápida: binário ↔ hex (4 dígitos binários = 1 dígito hex)
| Binário | Hex | Decimal | Binário | Hex | Decimal |
|---|---|---|---|---|---|
| 0000 | 0 | 0 | 1000 | 8 | 8 |
| 0001 | 1 | 1 | 1001 | 9 | 9 |
| 0010 | 2 | 2 | 1010 | A | 10 |
| 0011 | 3 | 3 | 1011 | B | 11 |
| 0100 | 4 | 4 | 1100 | C | 12 |
| 0101 | 5 | 5 | 1101 | D | 13 |
| 0110 | 6 | 6 | 1110 | E | 14 |
| 0111 | 7 | 7 | 1111 | F | 15 |
Essa agrupação de 4 bits torna o hex muito útil como uma notação compacta para dados binários: o valor de 32 bits 11001010 00111111 10110101 00001100 é muito mais fácil de escrever como CA3FB50C.
Binário em Redes: Endereços IP e Máscaras de Subrede
Entender o binário é essencial para engenharia de redes porque os endereços IPv4 são fundamentalmente números binários de 32 bits, e a sub-rede — o processo de dividir redes — depende inteiramente de operações binárias.
Um endereço IPv4 como 192.168.1.100 é notação legível por humanos para o valor binário de 32 bits:
11000000.10101000.00000001.01100100
Uma máscara de sub-rede determina qual parte do endereço identifica a rede e qual identifica o host. A máscara 255.255.255.0 em binário é:
11111111.11111111.11111111.00000000
A operação AND bit a bit do endereço IP e máscara de sub-rede dá o endereço de rede:
| Componente | Decimal | Binário |
|---|---|---|
| Endereço IP | 192.168.1.100 | 11000000.10101000.00000001.01100100 |
| Máscara de Sub-rede | 255.255.255.0 | 11111111.11111111.11111111.00000000 |
| Rede (AND) | 192.168.1.0 | 11000000.10101000.00000001.00000000 |
A notação CIDR (por exemplo, /24) diz a você quantos bits de 1 estão na máscara de sub-rede. Uma máscara /24 tem 24 uns seguidos por 8 zeros, permitindo 2⁸ − 2 = 254 endereços de host por sub-rede. Uma máscara /16 permite 65.534 hosts. Engenheiros de redes usam matemática mental binária diariamente para planejar sub-redes, calcular endereços de broadcast e diagnosticar rotas.
Criptografia Binária e Segurança
Os algoritmos de criptografia modernos operam inteiramente no nível binário, manipulando bits individuais por meio de combinações de XOR, deslocamentos de bits e operações de substituição. A compreensão da binária é a porta de entrada para entender como a segurança digital funciona.
Criptografia XOR (a base dos ciphers modernos): O XOR tem uma propriedade única — aplicá-lo duas vezes com a mesma chave retorna o valor original: A ⊕ K ⊕ K = A. Isso torna o XOR a base dos ciphers de fluxo e das placas de tempo único.
Exemplo: criptografando o byte 01001101 (letra 'M' em ASCII) com a chave 10110010:
- Texto em claro: 01001101
- Chave: 10110010
- XOR (criptografar): 11111111
- XOR novamente com a mesma chave (descriptografar): 01001101 = 'M' ✓
Tamanhos de chave em criptografia moderna: AES-128 usa uma chave de 128 bits, o que significa que há 2¹²⁸ ≈ 3,4 × 10³⁸ de chaves possíveis — mais do que o número de átomos no universo observável. O AES-256 usa chaves de 256 bits com 2²⁵⁶ possibilidades. Mesmo os supercomputadores mais rápidos não podem forçar esses espaços de chave. Cada bit adicional dobra o espaço de busca, o que é por que a extensão da chave importa exponencialmente na criptografia.
Funções de hash como SHA-256 produzem uma saída binária de 256 bits (32 bytes) de qualquer entrada. Mesmo uma mudança de um bit na entrada produz um hash completamente diferente — uma propriedade chamada de "efeito avalanche" que torna os hashes úteis para verificar a integridade dos dados, armazenar senhas e impulsionar a tecnologia de blockchain.
Binário e computação quântica: Enquanto os computadores clássicos usam bits binários (0 ou 1), os computadores quânticos usam qubits que podem existir em uma superposição de ambos os estados ao mesmo tempo. Um chave de 256 bits clássica tem 2²⁵⁶ valores possíveis que devem ser verificados sequencialmente; um computador quântico executando o algoritmo de Grover poderia procurar esse espaço em √(2²⁵⁶) = 2¹²⁸ operações. Isso é por que a criptografia pós-quântica está sendo desenvolvida — para criar esquemas de criptografia baseados em binário que permaneçam seguros mesmo contra adversários quânticos.
Perguntas Frequentes
Por que os computadores usam binário em vez de decimal?
Circuitos eletrônicos são mais confiáveis com apenas dois estados distintos: ligado (alta tensão ≈ 1) e desligado (baixa tensão ≈ 0). Representar 10 estados distintos para o decimal exigiria um controle de tensão muito mais preciso e seria muito mais suscetível a ruído elétrico. A simplicidade do binário permite que bilhões de transistores operem confiavelmente a GHz com bilhões de operações por segundo.
Qual é o maior número que um byte pode representar?
Um byte (8 bits) pode representar 2⁸ = 256 valores diferentes. Para números inteiros não assinados: 0 a 255. Para números inteiros assinados (complemento de dois): -128 a 127. O valor máximo de byte não assinado em binário é 11111111₂ = 255; em hexadecimal é FF.
Como converter um número negativo para binário?
Use o complemento de dois: (1) Converta a versão positiva para binário, (2) Inverse todos os bits (0→1, 1→0), (3) Adicione 1. Exemplo — -13 em 8-bit: +13 = 00001101₂, inverter bits = 11110010₂, adicione 1 = 11110011₂. Isso é como todos os computadores modernos armazenam números inteiros negativos.
Qual é a diferença entre binário e hexadecimal?
Ambos são sistemas de números posicionais usados em computação. Binário (base-2) usa apenas 0 e 1 — a linguagem nativa dos computadores. Hexadecimal (base-16) usa 0–9 e A–F como uma notação compacta para binário — cada 4 dígitos binários correspondem exatamente a 1 dígito hexadecimal. Hex é usado para endereços de memória, códigos de cor (#RRGGBB) e código de máquina porque é mais compacto e legível do que binário bruto.
Para que servem as operações bit a bit?
Operações bit a bit (E, OU, XOR, NOT, deslocamentos) manipulam bits individuais dentro de inteiros. Usos comuns: bandeiras de bit e permissões (chmod Unix), verificar par ou ímpar (n & 1), multiplicação/divisão rápida por potências de 2 (deslocamento de bits), algoritmos de criptografia, funções de hash, detecção de erros CRC, máscaras de sub-rede de rede e desenvolvimento de jogos (armazenamento de estado compacto em um único inteiro).
Qual é o ponto flutuante binário e por que 0,1 + 0,2 ≠ 0,3 em programação?
Os computadores modernos usam comumente o ponto flutuante binário IEEE 754, que representa frações decimais em binário. Assim como 1/3 = 0,3333... não pode ser representado exatamente em decimal, 1/10 não pode ser representado exatamente em binário (é uma fração binária infinitamente repetida). Isso causa erros de arredondamento: na maioria dos idiomas, 0,1 + 0,2 = 0,30000000000000004. Use aritmética de inteiros (trabalhe em centavos, não em dólares) ou bibliotecas decimais para cálculos financeiros exatos.
Como o binário é usado em armazenamento de dados e tamanhos de arquivo?
O armazenamento é medido em bytes (8 bits), quilobytes (1.024 bytes), megabytes (1.024 KB), gigabytes (1.024 MB), etc. Observe: fabricantes de discos rígidos usam prefixos SI (1 KB = 1.000 bytes) enquanto sistemas operacionais usam prefixos binários (1 KiB = 1.024 bytes), causando a aparente "desaparecimento de espaço" quando você compra armazenamento. Um disco de 1 TB mostra ~931 GiB no Windows porque 1.000.000.000.000 ÷ 1.073.741.824 ≈ 931.
Qual é o binário codificado decimal (BCD)?
BCD codifica cada dígito decimal como um grupo de 4 bits binários: 0=0000, 1=0001, ..., 9=1001. Então o decimal 93 em BCD é 1001 0011. O BCD é usado em sistemas financeiros (evita erros de arredondamento de ponto flutuante), relógios digitais e exibidores (displays de sete segmentos decodam BCD diretamente) e sistemas de mainframe antigos. É menos eficiente em espaço do que binário puro, mas elimina erros de conversão decimal-binário em aplicações críticas.