Conversor de Sistemas Numéricos BIN/HEX/DEC/OCT - Negativos
O mundo dos computadores funciona com zeros e uns, mas as pessoas pensam em dezenas. E os programadores? Eles precisam entender tudo o que está no meio. Seja para depurar código de baixo nível, definir cores em CSS, calcular máscaras IP ou resolver tarefas de ciência da computação, você se depara com a necessidade de converter números entre diferentes bases.
Calculadoras comuns no Windows ou no celular são frequentemente lentas e desajeitadas. Nosso conversor inteligente de sistemas numéricos foi projetado por desenvolvedores para desenvolvedores. Oferece conversão instantânea em tempo real, suporte para números extremamente grandes e, como uma das poucas ferramentas online, lida corretamente com números negativos em formato binário.
O que este conversor de sistemas numéricos pode fazer?
Ao desenvolver este widget, focamos em resolver os problemas mais comuns dos programadores:
- Reatividade em tempo real: Não há botão “Calcular”. Comece a digitar no campo HEX e veja imediatamente como BIN e DEC mudam.
- Suporte a números negativos (Inteiros com Sinal): A maioria dos conversores online falha quando você digita
-5. Nós não. Graças à opção de profundidade de bits (8, 16, 32, 64 bits), simulamos o comportamento exato do processador usando o que é conhecido como complemento de dois. - Legibilidade do código binário: Olhar para
1110101011011110cansa a vista. Nossa ferramenta pode formatar automaticamente a saída a cada 4 bits (nibbles) para1110 1010 1101 1110, o que reduz drasticamente a taxa de erros ao copiar. - Suporte a BigInt: Precisa converter um número de 64 bits ou um hash? O JavaScript padrão para no número $2^{53}$. Nosso motor lida com números de qualquer comprimento no modo “Apenas Positivos”.
Guia de Sistemas Numéricos: Quando Usar Cada Um?
1. Sistema Decimal (DEC - Decimal)
- Base: 10 (dígitos 0-9)
- Uso: Vida cotidiana, finanças, contagem de loops em código.
- Curiosidade: Computadores não a entendem diretamente, precisam convertê-la para binário.
2. Sistema Binário (BIN - Binary)
- Base: 2 (dígitos 0, 1)
- Uso: Código de máquina, portas lógicas, mascaramento de endereços IP.
- Dica: Cada dígito representa um bit. 8 bits formam 1 byte (Byte).
3. Sistema Hexadecimal (HEX - Hexadecimal)
- Base: 16 (dígitos 0-9, letras A-F)
- Uso: Escrita compacta de código binário. Um caractere HEX representa exatamente 4 bits (nibble). Dois caracteres (por exemplo,
FF) representam um byte inteiro. - Exemplos:
- Cores na web:
#FF5733(Vermelho, Verde, Azul). - Endereços MAC:
00:1A:2B:3C:4D:5E. - Dumps de memória (Memory dumps).
- Cores na web:
4. Sistema Octal (OCT - Octal)
- Base: 8 (dígitos 0-7)
- Uso: Computadores historicamente mais antigos, hoje principalmente permissões Linux (chmod).
- Exemplo: O comando
chmod 755define as permissões rwx-rx-rx (leitura, escrita, execução).
Como trabalhar corretamente com números negativos?
Esta é a funcionalidade mais avançada do nosso conversor. Na memória do computador, não existe o sinal de “menos”. Para armazenar um número negativo, o computador utiliza mais frequentemente o método de complemento de dois (Two’s Complement).
No entanto, o resultado da conversão de um número negativo depende de quantos bits a variável possui. É por isso que você encontrará o seletor de Profundidade de Bit na barra superior.
Exemplo: Como é o número -5?
Experimente você mesmo em nosso conversor:
-
Defina a largura para 8-bit.
- Digite em DEC:
-5. - Resultado HEX:
FB. - Resultado BIN:
1111 1011. - Explicação: $256 - 5 = 251$ (que é FB).
- Digite em DEC:
-
Defina a largura para 16-bit.
- Digite em DEC:
-5. - Resultado HEX:
FFFB. - Explicação: Como temos mais espaço, os “uns” preenchem o restante do espaço à esquerda.
- Digite em DEC:
-
Defina a largura para Apenas Positivos (Unsigned).
- Se você digitar
-5, o campo ficará vermelho. Este modo não suporta números negativos, pois exigiria infinitos uns.
- Se você digitar
Dica profissional: Se você trabalha com cores ou endereços IP, sempre use o modo “Apenas Positivos”. Se você está fazendo tarefas para C/C++ ou assembly, mude para 32-bit ou 64-bit.
Tabela de Conversões Rápidas (Cheat Sheet)
Para referência rápida, apresentamos aqui os valores básicos que todo “profissional de TI” deve saber de cor.
| Decimal (DEC) | Hexadecimal (HEX) | Binário (BIN) | Nota |
|---|---|---|---|
| 0 | 00 | 0000 | Zero |
| 1 | 01 | 0001 | |
| 10 | 0A | 1010 | |
| 15 | 0F | 1111 | Valor máximo de 4 bits (Nibble) |
| 16 | 10 | 0001 0000 | |
| 127 | 7F | 0111 1111 | Valor máx. para 8-bit assinado (char) |
| 255 | FF | 1111 1111 | Valor máx. para 8-bit não assinado (byte) |
| 65 535 | FFFF | … | Valor máx. para 16-bit |
Perguntas Frequentes (FAQ)
O que significa "Profundidade de Bit" (Bit Depth)?
Determina quanta memória é reservada para um número.- 8-bit: Valores de 0 a 255 (ou -128 a 127). Corresponde aos tipos
charoubyte. - 16-bit: Valores até 65 535. Corresponde ao tipo
short. - 32-bit:
intpadrão em linguagens modernas. - 64-bit: Para números muito grandes (
long long,BigInt).
Por que o número 255 é escrito como FF em HEX?
O sistema hexadecimal tem 16 dígitos (0-9 e A-F), onde F tem o valor 15. O númeroFF é calculado como: $(15 \times 16^1) + (15 \times 16^0) = 240 + 15 = 255$.
Como converto uma cor HEX para RGB?
Uma cor na web, por exemplo,#E05412, é composta por três bytes: Vermelho (E0), Verde (54), Azul (12).
Digite "E0" no campo HEX do nosso conversor -> você obterá 224.
Digite "54" -> você obterá 84.
Digite "12" -> você obterá 18.
O resultado é rgb(224, 84, 18).
O que significam os prefixos 0x, 0b ou 0o?
Para distinguir os sistemas, os programadores usam prefixos:0x= Hexadecimal (ex: 0xFF)0b= Binário (ex: 0b101)0o= Octal (ex: 0o755)
Por que o campo ficou vermelho?
Esta é uma função de validação de entrada. Significa que você inseriu um caractere que não pertence ao sistema numérico em questão. Por exemplo:- A letra "G" em HEX (somente A-F são permitidos).
- O dígito "2" em BIN (somente 0 e 1 são permitidos).
- O dígito "8" em OCT (somente 0-7 são permitidos).