Como converter decimal para binário
O jeito mais usado em sala de aula e em concurso é o das divisões sucessivas por 2. Divida o número por 2, anote o resto, divida o quociente por 2 de novo e continue até o quociente ser zero. Os restos, lidos do último para o primeiro, são os bits do número em binário.
Exemplo com 156:
| Divisão | Quociente | Resto |
|---|---|---|
| 156 ÷ 2 | 78 | 0 |
| 78 ÷ 2 | 39 | 0 |
| 39 ÷ 2 | 19 | 1 |
| 19 ÷ 2 | 9 | 1 |
| 9 ÷ 2 | 4 | 1 |
| 4 ÷ 2 | 2 | 0 |
| 2 ÷ 2 | 1 | 0 |
| 1 ÷ 2 | 0 | 1 |
De baixo para cima: 156 = 1001 1100. Conferindo: 128 + 16 + 8 + 4 = 156.
Método alternativo: subtrair potências de 2
Também dá para montar o binário pegando a maior potência de 2 que cabe no número e subtraindo. Para 156: cabe 128 (sobra 28), não cabe 64 nem 32, cabe 16 (sobra 12), cabe 8 (sobra 4), cabe 4 (sobra 0), não cabem 2 nem 1. Marcando 1 onde coube: 1 0 0 1 1 1 0 0. É mais rápido de cabeça para números pequenos.
Quantidade de bits: 8, 16, 32 ou 64
Na matemática, zeros à esquerda não mudam nada. Na computação, porém, os números ocupam um tamanho fixo, e por isso se completa com zeros: 45 = 101101, mas em um byte fica 0010 1101. Escolha a largura no campoQuantidade de bits; se o número não couber, a calculadora avisa. Com n bits sem sinal cabem os valores de 0 a 2n − 1 (até 255 em 8 bits e até 65.535 em 16 bits).
Números negativos
- Complemento de dois (padrão dos processadores): escreva o positivo, inverta os bits e some 1. −5 em 8 bits: 0000 0101 → 1111 1010 → 1111 1011.
- Sinal e magnitude: o primeiro bit é o sinal e o resto é o valor absoluto. −5 → 1000 0101.
- Complemento de um: só inverte os bits do positivo. −5 → 1111 1010.
Com "Automático", a calculadora escolhe a menor largura entre 8, 16, 32 e 64 bits em que o número cabe.
BCD e ponto flutuante
No BCD cada algarismo decimal vira 4 bits independentes: 2026 = 0010 0000 0010 0110. Gasta mais bits que o binário puro, mas facilita mostrar o número em displays.
Números com vírgula, nos programas, são guardados no padrão IEEE 754: 1 bit de sinal, um expoente com viés (8 bits no float, 11 no double) e a mantissa (23 ou 52 bits). Exemplo: −2,5 = −1,01₂ × 2¹. Sinal 1, expoente 1 + 127 = 128 = 1000 0000 e mantissa 0100 0…, o que dá 0xC0200000. A calculadora mostra os três campos, o hexadecimal e o valor exato que fica guardado, útil para entender por que 0,1 não é exato.
Para o caminho de volta, use o conversor de binário para decimal. Para octal, hexadecimal e outras bases há o conversor de bases; oconversor binário ↔ decimal faz os dois sentidos com dízimas periódicas, e o conversor de bytes trata de KB, MB e GB.