Conversor de Binário para Decimal
Converta números binários para decimal e decimal para binário instantaneamente. Suporta números de até 64 bits. Este conversor gratuito fornece resultados instantâneos e precisos.
Como a Conversão Binária-Decimal Funciona
O binário (base-2) usa apenas os dígitos 0 e 1. Cada posição representa uma potência de 2, dobrando-se da esquerda para a direita. Para converter binário para decimal, multiplique cada dígito binário por seu valor de lugar e some os resultados.
Exemplo: Converter 1011₂ para decimal
- Posição 3 (mais à esquerda): 1 × 2³ = 1 × 8 = 8
- Posição 2: 0 × 2² = 0 × 4 = 0
- Posição 1: 1 × 2¹ = 1 × 2 = 2
- Posição 0 (mais à direita): 1 × 2⁰ = 1 × 1 = 1
- Total: 8 + 0 + 2 + 1 = 11
Para decimal para binário, divida repetidamente por 2 e registre os restos de baixo para cima. 11 ÷ 2 = 5 R1, 5 ÷ 2 = 2 R1, 2 ÷ 2 = 1 R0, 1 ÷ 2 = 0 R1 → lendo os restos para cima: 1011.
Este sistema de notação posicional funciona da mesma forma que o decimal — apenas com uma base diferente. No decimal (base-10), o número 347 significa 3 × 10² + 4 × 10¹ + 7 × 10⁰ = 300 + 40 + 7. O binário usa o mesmo princípio com potências de 2 em vez de potências de 10.
Tabela de Valores de Posição Binária
O byte de 8 bits é a unidade fundamental de armazenamento de computador. Aqui está a tabela completa de valores de posição para números de 8 bits (0–255):
| Posição de bit | Potência de 2 | Valor decimal |
|---|---|---|
| Bit 7 (MSB) | 2⁷ | 128 |
| Bit 6 | 2⁶ | 64 |
| Bit 5 | 2⁵ | 32 |
| Bit 4 | 2⁴ | 16 |
| Bit 3 | 2³ | 8 |
| Bit 2 | 2² | 4 |
| Bit 1 | 2¹ | 2 |
| Bit 0 (LSB) | 2⁰ | 1 |
Um byte pode representar qualquer valor de 0 (00000000₂) a 255 (11111111₂). Dois bytes (16 bits) cobrem 0–65.535. Quatro bytes (32 bits) cobrem 0–4.294.967.295.
Tabela de Potências de 2 Estendida
Para programadores e cientistas de computador, saber as potências de 2 até 2⁶⁴ é essencial para entender endereçamento de memória, tipos de dados e limites do sistema:
| Potência | Valor Decimal | Significado |
|---|---|---|
| 2⁰ | 1 | Unidade mais pequena (1 bit) |
| 2⁸ | 256 | Uma unidade de byte (0–255) |
| 2¹⁰ | 1.024 | 1 KiB (kibibyte) |
| 2¹⁶ | 65.536 | 16-bit range; Limite de porta TCP |
| 2²⁰ | 1.048.576 | 1 MiB (mebibyte) |
| 2²⁴ | 16.777.216 | 24-bit color (16,7M cores) |
| 2³⁰ | 1.073.741.824 | 1 GiB (gibibyte) |
| 2³² | 4.294.967.296 | 32-bit address space; IPv4 max |
| 2⁴⁰ | 1.099.511.627.776 | 1 TiB (tebibyte) |
| 2⁶⁴ | 18.446.744.073.709.551.616 | 64-bit address space; modern CPUs |
Observe a diferença entre prefixos binários (KiB, MiB, GiB — potências de 2) e prefixos SI (KB, MB, GB — potências de 10). 1 GB = 1.000.000.000 bytes; 1 GiB = 1.073.741.824 bytes. Esta diferença de cerca de 7% explica por que um disco rígido de "500 GB" aparece como ~465 GiB no seu sistema operacional (que geralmente usa unidades binárias internamente).
Valores Binários Comuns em Computação
Esses valores binários aparecem frequentemente em programação, rede e administração de sistemas:
| Binário | Decimal | Hexadecimal | Contexto |
|---|---|---|---|
| 00000000 | 0 | 0x00 | Byte nulo, canal de cor preto |
| 00001010 | 10 | 0x0A | Caractere de quebra de linha (LF) — quebra de linha Unix |
| 00001101 | 13 | 0x0D | Retorno de carro (CR) — parte da quebra de linha do Windows |
| 00100000 | 32 | 0x20 | Caractere de espaço (ASCII) |
| 01000001 | 65 | 0x41 | ASCII 'A' |
| 01100001 | 97 | 0x61 | ASCII 'a' (diferente de 'A' por bit 5) |
| 01111111 | 127 | 0x7F | IP local (último octeto); caractere DEL |
| 10000000 | 128 | 0x80 | Início do ASCII estendido / bit de sinal |
| 11000000 | 192 | 0xC0 | Prefixo de rede de classe C (192.x.x.x) |
| 11111111 | 255 | 0xFF | Transmissão em grupo; byte máximo; branco em RGB |
Comparação de Binário, Hexadecimal e Octal
Programadores usam diferentes bases numéricas dependendo do contexto. Aqui está como os mesmos valores aparecem em cada sistema:
| Decimal | Binário | Hexadecimal | Octal | Uso |
|---|---|---|---|---|
| 0 | 0000 | 0x0 | 0o0 | Zero / nulo |
| 7 | 0111 | 0x7 | 0o7 | Permissão Unix (rwx) |
| 10 | 1010 | 0xA | 0o12 | — |
| 15 | 1111 | 0xF | 0o17 | Máximo 4-bit (nibble) |
| 16 | 10000 | 0x10 | 0o20 | — |
| 127 | 1111111 | 0x7F | 0o177 | Máximo assinado 8-bit |
| 255 | 11111111 | 0xFF | 0o377 | Máximo não assinado 8-bit |
| 511 | 111111111 | 0x1FF | 0o777 | Permissão Unix rwxrwxrwx |
| 1023 | 1111111111 | 0x3FF | 0o1777 | Máximo 10-bit (ADC) |
Hexadecimal é a forma mais comum de abreviar binário porque cada dígito hexadecimal mapeia exatamente 4 bits binários — tornando a conversão trivial. O octal mapeia 3 bits por dígito e é usado principalmente para permissões de arquivo Unix (por exemplo, chmod 755 = 111 101 101 em binário = rwxr-xr-x).
Números Binários Assinados (Complemento de 2)
Os computadores representam números negativos usando o complemento de 2 — o padrão definido pela IEEE e usado por quase todos os processadores modernos. Em um sistema de 8 bits de complemento de 2:
| Binário | Decimal Desnecessário | Assinado (Complemento de 2) |
|---|---|---|
| 00000000 | 0 | 0 |
| 00000001 | 1 | +1 |
| 01111111 | 127 | +127 (máximo positivo) |
| 10000000 | 128 | −128 (menor negativo) |
| 10000001 | 129 | −127 |
| 11111110 | 254 | −2 |
| 11111111 | 255 | −1 |
Para negar um número em complemento de 2: inverter todos os bits e adicionar 1. Por exemplo, +5 = 00000101 → inverter → 11111010 → adicionar 1 → 11111011 = −5.
As faixas para tipos de inteiros comuns:
| Tipo | Bits | Intervalo Desnecessário | Intervalo Assinado |
|---|---|---|---|
| byte / uint8 | 8 | 0 a 255 | −128 a +127 |
| short / int16 | 16 | 0 a 65.535 | −32.768 a +32.767 |
| int / int32 | 32 | 0 a 4.294.967.295 | −2.147.483.648 a +2.147.483.647 |
| long / int64 | 64 | 0 a 18,4 × 10¹⁸ | −9,2 × 10¹⁸ a +9,2 × 10¹⁸ |
Binário em Tecnologia Cotidiana
O binário é a base de todos os cálculos modernos porque os transistores têm dois estados estáveis (ligado/desligado, 1/0). Aplicações-chave:
- Tamanhos de arquivo: 1 quilobyte = 2¹⁰ = 1.024 bytes; 1 megabyte = 2²⁰ = 1.048.576 bytes; 1 gigabyte = 2³⁰ bytes
- Cor: As cores RGB são três valores de 8 bits. #FF5733 em hexadecimal = (255, 87, 51) em decimal = (11111111, 01010111, 00110011) em binário
- Codificação ASCII: A letra 'A' = 65 = binário 01000001; 'a' = 97 = 01100001
- Unicode: A maioria dos caracteres de texto cabem em 16 bits binários (0–65.535 intervalo)
- Endereços IP: Os endereços IPv4 são quatro grupos de 8 bits binários: 192.168.1.1 = 11000000.10101000.00000001.00000001
Entender o binário diretamente ajuda na programação (operações bitwise, bandeiras), na rede (cálculos de IP/subnet) e no trabalho com hardware de baixo nível.
Aritmética Binária: Adição e Subtração
A aritmética binária segue as mesmas regras que o decimal, mas com apenas dois dígitos. A tabela de adição é:
| A | B | Soma | Carry |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 1 |
Exemplo: 1011 + 0110
Trabalhando da direita para a esquerda: 1+0=1, 1+1=10 (escrever 0 carry 1), 0+1+1=10 (escrever 0 carry 1), 1+0+1=10 (escrever 0 carry 1). Resultado: 10001 (decimal: 11+6=17)
A subtração em hardware é geralmente realizada adicionando o complemento de 2 do subtrahendo. Para calcular A−B, o processador calcula A + (−B), onde −B é o complemento de 2 de B. Isso permite que um circuito de adição seja usado tanto para adição quanto para subtração.
Operações Bit a Bit
Os idiomas de programação fornecem operadores bitwise que manipulam bits individuais. Essas são fundamentais para programação de baixo nível, sistemas embutidos e otimização de desempenho:
| Operação | Símbolo | Exemplo (8 bits) | Resultado | Uso |
|---|---|---|---|---|
| AND | & | 10110101 & 11110000 | 10110000 | Mascarar bits, extrair campos |
| OU | | | 10110101 | 00001111 | 10111111 | Definir bits, combinar bandeiras |
| XOR | ^ | 10110101 ^ 11111111 | 01001010 | Alternar bits, criptografia simples |
| NÃO | ~ | ~10110101 | 01001010 | Inversão de bits |
| Deslocar para a esquerda | << | 00000101 << 2 | 00010100 | Multiplicar por 2ⁿ |
| Deslocar para a direita | >> | 00010100 >> 2 | 00000101 | Dividir por 2ⁿ |
O deslocamento de bits é significativamente mais rápido do que a multiplicação/divisão em muitos processadores. x << 1 é equivalente a x × 2, e x >> 1 é equivalente a x ÷ 2 (divisão inteira). Os motores de jogos e o firmware embutido usam essas operações extensivamente para melhorar o desempenho.
Código Binário Decimal (BCD)
O Código Binário Decimal representa cada dígito decimal usando seu próprio padrão binário de 4 bits. Diferente do binário puro, o BCD preserva a estrutura decimal:
| Decimal | Binário Puro | BCD |
|---|---|---|
| 0 | 0000 | 0000 |
| 5 | 0101 | 0101 |
| 9 | 1001 | 1001 |
| 10 | 1010 | 0001 0000 |
| 42 | 101010 | 0100 0010 |
| 99 | 1100011 | 1001 1001 |
| 255 | 11111111 | 0010 0101 0101 |
O BCD é menos eficiente em termos de espaço do que o binário puro (10 das 16 combinações possíveis de 4 bits são usadas), mas simplifica a exibição decimal — cada nibble mapeia diretamente para um dígito exibido. O BCD é usado em relógios digitais, calculadoras, sistemas financeiros (onde a representação decimal exata importa) e bancos de dados de mainframe mais antigos (COBOL, IBM EBCDIC).
Floating-Point Binário (IEEE 754)
Números decimais com partes fracionárias (como 3,14) são armazenados em binário usando o padrão IEEE 754. Um float de 32 bits (precisão simples) tem três partes:
| Campo | Bits | Função |
|---|---|---|
| Sinal | 1 | 0 = positivo, 1 = negativo |
| Exponencial | 8 | Exponencial com bias (bias = 127) |
| Mantissa (significando) | 23 | Parte fracionária (1 implícito de liderança) |
Exemplo: O número decimal −6,5 em IEEE 754 de precisão simples:
- Sinal = 1 (negativo)
- 6,5 em binário = 110,1₂ = 1,101 × 2² (normalizado)
- Exponencial = 2 + 127 (bias) = 129 = 10000001₂
- Mantissa = 10100000000000000000000 (23 bits, 1 implícito de liderança omitido)
- Representação completa: 1 10000001 10100000000000000000000
Isso é por que 0,1 + 0,2 ≠ 0,3 em muitos idiomas de programação — a fração decimal 0,1 tem uma representação infinita em binário (como 1/3 em decimal = 0,333…), então ela deve ser arredondada, introduzindo erros pequenos. Para cálculos financeiros, use bibliotecas de aritmética decimal (módulo decimal do Python, BigDecimal do Java) em vez de aritmética de ponto flutuante.
Codificação de Caracteres: De ASCII para UTF-8
O texto é armazenado como números binários mapeados para caracteres. A evolução da codificação de caracteres reflete a expansão global do computador:
| Codificação | Ano | Bits por Caractere | Caracteres Suportados | Notas |
|---|---|---|---|---|
| ASCII | 1963 | 7 (armazenado em 8) | 128 | Letras em inglês, dígitos, pontuação |
| ASCII Extendido (ISO 8859-1) | 1987 | 8 | 256 | Caracteres da Europa Ocidental (é, ñ, ü) |
| UTF-8 | 1993 | 8–32 (variável) | 1.112.064 | Compatível com ASCII; padrão da web |
| UTF-16 | 1996 | 16–32 (variável) | 1.112.064 | Usado em Java, Windows, JavaScript interno |
| UTF-32 | 2000 | 32 (fixo) | 1.112.064 | Largura fixa; desperdiça espaço para texto latino |
O UTF-8 codifica caracteres ASCII em um byte único (idêntico a ASCII plano), caracteres europeus em 2 bytes, caracteres CJK em 3 bytes e emojis em 4 bytes. Mais de 98% de todas as páginas da web usam codificação UTF-8 (conforme W3Techs, 2024).
Portas Lógicas Binárias
As portas lógicas são as blocos físicos de construção de todos os circuitos digitais. Cada porta realiza uma operação binária simples em um ou dois bits de entrada:
| Porta | Símbolo | Tabela de Verdade (A,B → Saída) | Descrição |
|---|---|---|---|
| E | A·B | 0,0→0; 0,1→0; 1,0→0; 1,1→1 | A saída é 1 apenas quando ambos os inputs são 1 |
| OU | A+B | 0,0→0; 0,1→1; 1,0→1; 1,1→1 | A saída é 1 quando pelo menos um dos inputs for 1 |
| NÃO | ¬A | 0→1; 1→0 | Inverte o input |
| NAND | ¬(A·B) | 0,0→1; 0,1→1; 1,0→1; 1,1→0 | E seguido de NÃO — porta universal |
| XOR | A⊕B | 0,0→0; 0,1→1; 1,0→1; 1,1→0 | A saída é 1 quando os inputs forem diferentes |
A porta NAND é chamada de porta universal porque qualquer outra função lógica pode ser construída usando apenas portas NAND. Os processadores modernos contêm bilhões de transistores arranjados em portas NAND e NOR, que são então combinadas em somadores, multiplexadores, flip-flops e todos os outros blocos de construção de um processador. O chip Apple M3 contém aproximadamente 25 bilhões de transistores — cada um é um interruptor binário microscópico que está ligado (1) ou desligado (0).
A porta XOR tem uma propriedade especial: ela produz 1 quando os dois inputs forem diferentes. Isso a torna a base da adição binária (a soma de um somador de meia adição), da detecção de erros (verificação de paridade) e da criptografia simples (cifra de XOR).
História do Binário: De Leibniz a Computação Moderna
O sistema de números binários tem uma rica história intelectual:
| Ano | Pessoa/Evento | Contribuição |
|---|---|---|
| ~300 a.C. | Pingala (matemático indiano) | Usou um sistema semelhante ao binário para classificar metros poéticos |
| 1679 | Gottfried Leibniz | Descreveu formalmente a aritmética binária moderna; viu conexões com o I Ching chinês |
| 1847 | George Boole | Publicou "A Análise Matemática da Lógica" — fundação da álgebra booleana |
| 1937 | Claude Shannon (tese de mestrado da MIT) | Mostrou que a álgebra booleana poderia modelar circuitos de chaveamento elétricos |
| 1945 | John von Neumann | Propôs a arquitetura de computador binário armazenado (arquitetura de von Neumann) |
| 1971 | Intel 4004 | Primeiro processador comercial — 2.300 transistores, 4-bit binário |
| 2024 | CPUs modernas | Billhões de transistores; arquitetura binária de 64 bits padrão |
A visão de Leibniz de que todos os números poderiam ser expressos usando apenas 0 e 1 foi puramente matemática — ele nunca imaginou computadores eletrônicos. A tese de mestrado de Shannon em 1937 conectou a lógica booleana (binária) a relés elétricos, criando a base teórica para todos os eletrônicos digitais. Foi chamada de "possivelmente a tese de mestrado mais importante do século XX".
Binário em Redes: Endereços IP e Máscaras de Subrede
Entender o binário é essencial para a administração de redes. Endereços IP e máscaras de subrede são números binários de 32 bits:
| Descrição | Décimal Ponto | Binário |
|---|---|---|
| Endereço IP | 192.168.1.100 | 11000000.10101000.00000001.01100100 |
| Máscara de subrede (/24) | 255.255.255.0 | 11111111.11111111.11111111.00000000 |
| Endereço de rede | 192.168.1.0 | 11000000.10101000.00000001.00000000 |
| Endereço de broadcast | 192.168.1.255 | 11000000.10101000.00000001.11111111 |
O endereço de rede é calculado pela operação AND entre o endereço IP e a máscara de subrede. O endereço de broadcast define todos os bits de host como 1. O número de endereços de host usáveis = 2^(32−prefixo) − 2. Para uma rede /24: 2⁸ − 2 = 254 endereços de host.
Tamanhos de subrede comuns:
| CIDR | Máscara de subrede | Hosts | Uso típico |
|---|---|---|---|
| /32 | 255.255.255.255 | 1 | Rota única para host |
| /30 | 255.255.255.252 | 2 | Conexão ponto-a-ponto |
| /24 | 255.255.255.0 | 254 | Rede LAN padrão |
| /16 | 255.255.0.0 | 65.534 | Rede de campus grande |
| /8 | 255.0.0.0 | 16.777.214 | Alocação de classe A |
Perguntas Frequentes
Como converter 1100 para decimal?
1100 em binário: 1×8 + 1×4 + 0×2 + 0×1 = 8 + 4 = 12. Então binário 1100 = decimal 12.
Qual é 255 em binário?
255 em binário é 11111111 — todos os oito bits definidos como 1. Isso aparece em redes (máscara de subrede 255.255.255.0) e valores de cor (vermelho completo = 255, 0, 0).
Como converter 100 para binário?
Dividir repetidamente por 2: 100÷2=50 R0, 50÷2=25 R0, 25÷2=12 R1, 12÷2=6 R0, 6÷2=3 R0, 3÷2=1 R1, 1÷2=0 R1. Ler os restos de cima para baixo: 1100100₂. Verifique: 64+32+4 = 100. ✓
Qual é a diferença entre binário e hexadecimal?
Binário usa base 2 (dígitos 0–1); hexadecimal usa base 16 (dígitos 0–9, A–F). Hex é uma abreviação compacta para binário — cada dígito hexadecimal representa exatamente 4 bits binários. Por exemplo, hex FF = binário 11111111 = decimal 255.
Por que os computadores usam binário em vez de decimal?
Circuitos elétricos são naturalmente binários: um transistor é ou (1) ou desligado (0), e a tensão é ou alta ou baixa. Decimal exigiria 10 níveis de tensão distintos, o que é difícil de implementar de forma confiável em hardware. Binário é tolerante a ruído e mapeia perfeitamente para operações lógicas verdadeiro/falso.
Qual é o complemento de dois?
O complemento de dois é o método padrão para representar números inteiros assinados (positivos e negativos) em binário. Para encontrar o complemento de dois (negativo) de um número: inverte todos os bits e adicione 1. Em um sistema de 8 bits, +5 é 00000101 e −5 é 11111011. O bit mais à esquerda é o bit de sinal: 0 = positivo, 1 = negativo. Esse sistema permite que os circuitos de hardware usem o mesmo circuito de adição para adição e subtração.
Como converter binário para hexadecimal?
Grupar os dígitos binários em conjuntos de 4 da direita para a esquerda, em seguida, converter cada grupo. Exemplo: 10110101₂ → 1011 0101 → B5₁₆. As agrupamentos são: 0000=0, 0001=1, 0010=2, ..., 1001=9, 1010=A, 1011=B, 1100=C, 1101=D, 1110=E, 1111=F.