Calculadora binária
Adicione, subtraia, multiplique e divida números binários, converta para decimal e aplique operações bit a bit. A Calculadora binária mostra valores posicionais e complemento de dois.
Os resultados atualizam ao escrever. Ctrl/Cmd+Enter copia o resultado principal.
Resultado
—
Vista de bits
Mostrar o procedimento
A Calculadora binária adiciona, subtrai, multiplica e divide números escritos em base 2, converte entre binário e decimal, e aplica AND, OR, XOR, NOT e deslocamentos bit a bit. Cada resultado inclui o equivalente decimal e um detalhe por colunas para carries e empréstimos poderem ser verificados à mão. A largura de bits pode ser definida para trabalho em complemento de dois, ou deixada sem limite para aritmética exacta sem wrap de registo.
Todo o cálculo corre no seu navegador. Nada do que introduz é enviado para um servidor.
Adicionar, subtrair, multiplicar e dividir números binários
A aritmética binária usa as mesmas regras de coluna que a decimal, mas cada posição só pode ter 0 ou 1 e o limiar de carry é 2 em vez de 10. Introduza duas cadeias binárias, escolha a operação, e a calculadora devolve o resultado em binário com a verificação decimal ao lado. Zeros à esquerda são removidos da saída a menos que uma largura de bits esteja seleccionada.
A adição faz carry quando uma coluna soma 2 ou mais. A subtração empresta da coluna superior quando o dígito do minuendo é menor. Multiplicação e divisão seguem os mesmos padrões de forma longa ensinados para decimal, construídos a partir de deslocamentos e adições. Dígitos inválidos como 2 ou A são rejeitados de imediato, porque não são legais em base 2.
Converter binário para decimal
A notação posicional transforma uma cadeia binária num inteiro decimal somando cada bit multiplicado pela sua potência de dois. O bit mais à direita é 2⁰ (valor 1), o seguinte é 2¹ (valor 2), depois 4, 8, 16, e assim por diante. Introduza 10111 e a expansão é 16 + 0 + 4 + 2 + 1 = 23.
1 0 1 1 1
│ │ │ │ └─ 1 × 2⁰ = 1
│ │ │ └─── 1 × 2¹ = 2
│ │ └───── 1 × 2² = 4
│ └─────── 0 × 2³ = 0
└───────── 1 × 2⁴ = 16
= 23
Qualquer cadeia binária que a calculadora aceite converte desta forma. Agrupar em nibbles de quatro bits torna as posições mais fáceis de ler em voz alta: 1010 1010 é mais claro que oito dígitos seguidos ao verificar uma máscara de sub-rede ou um bitfield de permissões.
Converter decimal para binário
Divisão repetida por 2 produz dígitos binários como restos. Divida o valor decimal por 2, registe o resto (0 ou 1), divida o quociente outra vez, e continue até o quociente ser zero. Ler os restos do último para o primeiro dá a forma binária.
Para 23:
| Passo | Quociente | Resto |
|---|---|---|
| 23 ÷ 2 | 11 | 1 |
| 11 ÷ 2 | 5 | 1 |
| 5 ÷ 2 | 2 | 1 |
| 2 ÷ 2 | 1 | 0 |
| 1 ÷ 2 | 0 | 1 |
Ler os restos de baixo para cima dá 10111. A calculadora faz esta conversão em ambas as direcções e mostra ambas as formas juntas para um dígito mal digitado ser óbvio antes do passo aritmético.
Adicionar 10101010 e 11001100
Adicionar 10101010 e 11001100 é o exemplo fixo para adição por colunas com carries. Em decimal os operandos são 170 e 204, e a soma é 374, que é 101110110 em binário. Notas de esboço antigas que listavam 110001110 estavam erradas; a aritmética abaixo é o resultado correcto.
1 1 1 1 1 0 0 0 carries
1 0 1 0 1 0 1 0 170
+ 1 1 0 0 1 1 0 0 204
-----------------
1 0 1 1 1 0 1 1 0 374
Coluna a coluna da direita: 0+0=0, 1+0=1, 0+1=1, 1+1=0 carry 1, 0+0+carry=1, 1+0=1, 0+1=1, 1+1=0 carry 1, e o carry final escreve um nono bit. O resultado de nove bits 101110110 corresponde a 256 + 0 + 64 + 32 + 16 + 0 + 4 + 2 + 0 = 374. A Calculadora binária mostra esta linha de carries em cada adição para a verificação manual coincidir com a saída.
Subtrair números binários com empréstimo
A subtração binária empresta quando uma coluna precisa de tirar 1 de um 0. Emprestar do bit superior seguinte transforma o 0 actual em 2 (binário 10), e o credor perde 1. Se esse credor também for 0, o empréstimo propaga-se até encontrar um 1.
Exemplo: 1000 menos 0001.
1 0 0 0
- 0 0 0 1
---------
0 1 1 1
A coluna mais à direita empresta através de três zeros. Depois de a cadeia estabilizar, cada coluna emprestada torna-se 1, e o bit mais à esquerda que emprestou torna-se 0, ficando 0111 (decimal 7). Quando uma largura de bits está definida e o resultado seria negativo, a calculadora pode mostrar o wrap de complemento de dois em vez de uma magnitude negativa sem limite. O modo sem limite mantém o inteiro com sinal exacto sem wrap.
Aplicar operações bit a bit
Operadores bit a bit actuam em cada bit independentemente em vez de na cadeia como um inteiro. AND devolve 1 apenas onde ambas as entradas são 1. OR devolve 1 onde qualquer entrada é 1. XOR devolve 1 onde os bits diferem. NOT inverte cada bit na largura seleccionada. Deslocamentos movem bits e preenchem zeros, ou o bit de sinal para deslocamento aritmético à direita.
| A | B | AND | OR | XOR |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 | 1 |
| 1 | 0 | 0 | 1 | 1 |
| 1 | 1 | 1 | 1 | 0 |
Uma máscara de bits limpa ou mantém campos seleccionados. valor AND máscara põe a zero cada bit onde a máscara é 0. valor OR flag define bits. valor XOR toggle inverte bits seleccionados sem perturbar o resto. Estes padrões aparecem em flags de permissão, registos de estado, e a porção de rede de um endereço IPv4 quando uma máscara de sub-rede é aplicada.
Representar números negativos em complemento de dois
Complemento de dois é a forma padrão como binário de largura fixa armazena inteiros negativos. Para um registo de n bits, negue um valor invertendo cada bit e adicionando um. O bit alto é o bit de sinal: 0 para não negativo, 1 para negativo. O intervalo representável para n bits é −2ⁿ⁻¹ a 2ⁿ⁻¹ − 1.
Em 8 bits, +5 é 00000101. Inverta para 11111010, adicione um para obter 11111011, que é −5. Adicionar 00000101 e 11111011 dá 00000000 com um carry de overflow fora do registo, que é como a negação se confirma. Sem largura, não há bit de sinal fixo e complemento de dois é indefinido; a calculadora requer portanto uma largura (8, 16, 32 ou 64) antes de mostrar formas de complemento.
Overflow acontece quando o resultado matemático verdadeiro não cabe na largura escolhida. A Calculadora binária assinala wrap para uma resposta truncada silenciosamente não ser confundida com uma exacta.
Ler a tabela de valores posicionais binários
Valores posicionais duplicam a cada passo à esquerda do ponto binário. Memorizar os primeiros oito basta para a maior parte do trabalho ao nível de byte: 1, 2, 4, 8, 16, 32, 64, 128. Quatro bits formam um nibble; oito bits formam um byte. Dezasseis bits formam uma word em muitas arquitecturas; 32 e 64 são os tamanhos de registo comuns hoje.
| Índice de bit | Potência | Valor |
|---|---|---|
| 0 | 2⁰ | 1 |
| 1 | 2¹ | 2 |
| 2 | 2² | 4 |
| 3 | 2³ | 8 |
| 4 | 2⁴ | 16 |
| 5 | 2⁵ | 32 |
| 6 | 2⁶ | 64 |
| 7 | 2⁷ | 128 |
Um byte completo de uns, 11111111, é 255. O bit alto sozinho, 10000000, é 128. Ler um valor como a soma dos seus valores posicionais activos é mais rápido do que converter dígito a dígito quando a tabela é familiar, e a vista de expansão da calculadora corresponde a essa verificação mental.
Usar binário na prática
Binário aparece onde hardware ou protocolos expõem bitfields. Máscaras de sub-rede são padrões de 32 bits de uns iniciais. Modos de ficheiro Unix empacotam bits de leitura, escrita e execução em nove bits de permissão. Canais de cor são frequentemente valores de oito bits. Flags de CPU e registos de dispositivo empacotam estado booleano em bits únicos para uma máscara poder testar ou limpar sem tocar nos vizinhos.
Endereços de memória e instruções de máquina são binários por baixo de cada dump hex. Ao depurar, converter uma palavra de flag suspeita para binário e alinhá-la com a folha de dados é normalmente mais rápido do que adivinhar a partir da forma decimal. A calculadora mantém as vistas binária e decimal ligadas para essa ida e volta se manter honesta.
Perguntas frequentes
Como é que a adição binária produz um carry?
Um carry aparece quando uma coluna soma 2 ou mais. Como cada posição só pode armazenar 0 ou 1, uma soma de 2 escreve 0 e faz carry 1 para a coluna seguinte; uma soma de 3 escreve 1 e faz carry 1. O processo é idêntico ao carry decimal a 10, com um limiar mais pequeno.
Como se converte binário para decimal à mão?
Multiplique cada bit pela sua potência de dois e some os produtos. O bit mais à direita vale 1, depois 2, 4, 8, e assim por diante. Para 10111 isso é 16 + 0 + 4 + 2 + 1 = 23. A calculadora mostra a mesma expansão em cada conversão.
Como se converte decimal para binário à mão?
Divida o número por 2 repetidamente e recolha restos. Cada resto é o próximo dígito binário da direita para a esquerda. Pare quando o quociente chegar a zero, depois leia os restos do último para o primeiro. Decimal 23 torna-se 10111 por esse método.
O que é complemento de dois?
Complemento de dois representa inteiros negativos numa largura de bits fixa invertendo os bits da magnitude e adicionando um. O bit alto actua como sinal. Adicionar um número ao seu complemento de dois dá zero dentro dessa largura, o que explica os processadores usarem-no para subtração.
O que é uma máscara de bits?
Uma máscara de bits é um padrão binário usado com AND, OR ou XOR para limpar, definir ou alternar bits seleccionados. AND com uma máscara mantém bits onde a máscara é 1 e põe a zero o resto. OR define bits. XOR inverte-os. Máscaras aparecem em permissões, flags de protocolo e registos de hardware.
Qual é a diferença entre um deslocamento à esquerda e multiplicar por dois?
Um deslocamento à esquerda de uma posição multiplica um valor sem sinal por dois, desde que nenhum bit saia do registo. Um deslocamento à direita de uma posição divide por dois e descarta o resto. Com largura fixa, bits que saem do fim perdem-se; o modo sem limite cresce a cadeia.
Por que a largura de bits importa para NOT e negação?
NOT inverte cada bit no registo. Sem largura definida não há um conjunto finito de bits para inverter, por isso a operação não tem sentido. Negação em complemento de dois também precisa de largura para o bit de sinal e comportamento de wrap estarem definidos. Escolha 8, 16, 32 ou 64 para corresponder ao registo que está a modelar.
O que é um nibble?
Um nibble são quatro bits, metade de um byte. Mapeia limpo para um dígito hexadecimal, o que explica dumps hex e códigos de cor agruparem bits de quatro em quatro. Os valores posicionais num nibble são 1, 2, 4 e 8, somando 15 quando todos os bits estão activos.
A Calculadora binária divide números binários?
Sim. A divisão devolve o quociente em binário, com a verificação decimal mostrada ao lado. Divisão por zero é rejeitada. Restos seguem regras de divisão inteira a menos que um modo de precisão mais largo seja seleccionado para um problema específico.
A calculadora envia entrada binária para um servidor?
Não. Toda a aritmética e conversão correm localmente no navegador. Valores de entrada não são carregados, o que importa quando as cadeias vêm de dumps de memória, chaves ou endereços internos.
Resumo
A Calculadora binária faz aritmética em base 2, converte de e para decimal através de potências de dois, e aplica AND, OR, XOR, NOT e deslocamentos bit a bit com uma largura de registo opcional. Adicionar 10101010 e 11001100 dá 101110110 (170 + 204 = 374), com carries mostrados coluna a coluna.
Negação em complemento de dois e NOT bit a bit requerem uma largura de bits; o modo sem limite mantém resultados matematicamente exactos. Valores posicionais, nibbles e bytes estão listados para cadeias binárias usadas em máscaras, permissões e flags poderem ser lidas sem adivinhar.