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).