Códigos de cor RGB
color: #ff8800;color: rgb(255, 136, 0);Cada par de dígitos hex é um byte (0–255) representando um canal. ff = 255, 88 = 136, 00 = 0.
Converta números entre binário, octal, decimal e hexadecimal.
Última atualização
Um conversor de base numérica pega um número escrito em um sistema (binário, octal, decimal ou hexadecimal) e reescreve nos demais. É a ferramenta que a gente abre para ler bitmasks, depurar códigos de cor, decodificar flags de pacotes de protocolo, mexer em registradores de hardware e traduzir entre hex e decimal — seja em CSS, assembly ou criptografia.
O número em si não muda quando trocamos de base — o que muda é a *representação*. O 255 em decimal é 0xFF em hex, 0b11111111 em binário e 0o377 em octal. São quatro formas diferentes de escrever o mesmo valor.
Uma ferramenta moderna precisa lidar com números grandes sem perda de precisão. O parseInt padrão do JavaScript arredonda silenciosamente qualquer valor acima de 2⁵³, o que gera bugs sutis ao trabalhar com registradores de 64 bits, IDs e timestamps. Um conversor decente usa BigInt por baixo dos panos, então um valor hex de 256 bits dá a volta completa sem perder nada.
0xCAFE é 1100 1010 1111 1110 em binário — bem mais fácil para a vista.Selecione binário, octal, decimal ou hexadecimal — o que combinar com o número que você tem em mãos.
Em hex valem tanto ff quanto 0xff. Em binário, tanto 1010 quanto 0b1010. O conversor remove o prefixo automaticamente.
As quatro representações do mesmo número aparecem na hora. Clique em qualquer uma para copiar.
Agrupe binário de 4 em 4 bits (1100 1010 1111 1110) e hex de 2 em 2 caracteres (CA FE). Ajuda muito ao inspecionar bitfields e dumps.
Valores de referência comuns nas quatro bases. O BigInt do JavaScript e a gramática de literais numéricos cobrem a sintaxe usada abaixo.
| Decimal | Binário | Octal | Hex |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 1 | 1 | 1 | 1 |
| 8 | 1000 | 10 | 8 |
| 10 | 1010 | 12 | A |
| 16 | 10000 | 20 | 10 |
| 32 | 100000 | 40 | 20 |
| 64 | 1000000 | 100 | 40 |
| 100 | 1100100 | 144 | 64 |
| 128 | 10000000 | 200 | 80 |
| 255 | 11111111 | 377 | FF |
| 256 | 100000000 | 400 | 100 |
| 1024 | 10000000000 | 2000 | 400 |
| 65535 | 1111111111111111 | 177777 | FFFF |
color: #ff8800;color: rgb(255, 136, 0);Cada par de dígitos hex é um byte (0–255) representando um canal. ff = 255, 88 = 136, 00 = 0.
5
0b101
O bit 0 (leitura) está ligado, o bit 2 (execução) está ligado, o bit 1 (escrita) não. Ou seja, a permissão é leitura + execução.
Modos de arquivo do Unix (chmod), feature flags e pacotes de protocolo codificam vários booleanos como bits dentro de um único inteiro. A visão binária deixa isso na cara.
0xFFFFFFFFFFFFFFFF
18446744073709551615
Esse é o maior inteiro de 64 bits sem sinal. O parseInt comum do JavaScript perderia precisão; o BigInt resolve sem dor de cabeça.
0x10 e 10 parecem iguais, mas são 16 e 10 — sempre coloque o prefixo da base no código.parseInt(big, 16) em JavaScript com valores acima de 2⁵³. O certo é BigInt('0x' + hex).1010: 1·8 + 0·4 + 1·2 + 0·1 = 10. Ou cole o valor em um conversor de base e veja na hora.255 ÷ 16 = 15 resto 15 → FF.#ff8800), endereços de memória, dumps de arquivo, endereços MAC, hashes e a maioria dos sistemas de baixo nível.0755) e em alguns literais numéricos da família C.