Base Numérica

Comparar Cálculos

Downloads

Inclui seus dados de entrada e resultados deste cálculo, além de quaisquer cálculos adicionais que você tenha comparado.

Reescrevendo o Mesmo Valor em Binário, Octal, Decimal e Hexadecimal

Uma base numérica (ou “radix”) é quantos dígitos distintos um sistema numérico usa antes de transportar para o próximo valor posicional — decimal usa 10 (0–9), binário usa 2 (0–1), octal usa 8 (0–7), e hexadecimal usa 16 (0–9 e depois A–F). Insira um número inteiro em qualquer uma dessas quatro bases, e esta calculadora mostra o mesmo valor escrito em todas as quatro de uma vez.

O binário é como os computadores representam todo valor internamente (cada dígito é um “bit”); o hexadecimal é uma abreviação comum para binário em programação (cada dígito hexadecimal representa exatamente 4 dígitos binários, então é muito mais compacto de ler e digitar); o octal aparece em permissões de arquivo do Unix mais antigas e em alguns contextos de baixo nível. O decimal é apenas o sistema de base 10 do dia a dia.

A Fórmula

Todo sistema numérico posicional funciona da mesma forma: cada dígito é multiplicado pela base elevada à sua potência de valor posicional, depois somado:

Valor=i=0ndi×Basei\vA{\text{Valor}} = \sum_{i=0}^{n} d_i \times \vB{\text{Base}}^i

onde did_i é o dígito na posição ii (contando a partir de 0 no dígito mais à direita). Converter para uma base diferente divide repetidamente o valor decimal pela nova base, registrando cada resto — o inverso da soma acima.

Exemplo Prático

Convertendo o binário 11111111 para as outras três bases:

  1. Lendo da direita para a esquerda, cada 1 contribui com seu valor posicional: 27+26+25+24+23+22+21+20=2552^7 + 2^6 + 2^5 + 2^4 + 2^3 + 2^2 + 2^1 + 2^0 = 255.
  2. Decimal: 255.
  3. Octal: dividindo 255 por 8 repetidamente (255 ÷ 8 = 31 resto 7, 31 ÷ 8 = 3 resto 7, 3 ÷ 8 = 0 resto 3) lê os restos de baixo para cima como 377.
  4. Hexadecimal: 255 ÷ 16 = 15 resto 15, 15 ÷ 16 = 0 resto 15 — ambos os restos são 15 (F em hex), dando FF.

Principais Fatores a Considerar

  • Um único byte (8 bits) pode representar exatamente 256 valores distintos — de 0 a 255 em decimal, ou de 00 a FF em hexadecimal. É exatamente por isso que 255/FF é um valor de referência tão comum na computação — é o valor máximo que um único byte pode conter, o que aparece em toda parte, de canais de cor RGB (0-255 por canal) até formatos de rede e de arquivo.
  • O octal era historicamente mais comum do que é hoje, em grande parte por causa dos tamanhos de palavra de computadores mais antigos. O octal (base 8) mapeia perfeitamente para grupos de 3 dígitos binários, o que era conveniente para computadores construídos com tamanhos de palavra divisíveis por 3 bits — a computação moderna mudou amplamente para o hexadecimal (que mapeia para grupos de 4 bits), já que a maioria do hardware moderno usa tamanhos de palavra divisíveis por 4 e 8, embora o octal ainda apareça em contextos específicos, como a notação de permissões de arquivo do Unix (por exemplo, chmod 755).
  • Um erro comum de programadores é confundir a base de um número apenas pelo contexto. Os dígitos “10” significam valores muito diferentes dependendo da base — 10 em decimal, 2 em binário, 8 em octal, 16 em hexadecimal — motivo pelo qual as linguagens de programação geralmente exigem um prefixo explícito (como 0x para hex ou 0b para binário) para remover qualquer ambiguidade sobre qual base é pretendida.
  • Qualquer número inteiro pode teoricamente ser representado em QUALQUER base, não apenas essas quatro. Binário, octal, decimal e hexadecimal são simplesmente as quatro bases com o uso real mais comum na computação e na matemática do dia a dia — o mesmo princípio de notação posicional que esta calculadora usa se estende a qualquer base, como base 3, base 20, ou base 60 (a base de como o tempo e os ângulos são tradicionalmente divididos).

Erros Comuns

  • Ler um número de base mista sem prefixo como decimal por padrão. “10” significa dez em decimal, mas apenas dois em binário — sempre verifique (ou indique) em qual base um número está escrito antes de fazer cálculos com ele.
  • Supor que zeros à esquerda mudam o valor. Assim como em decimal, 0011 em binário é o mesmo valor que 11 — zeros à esquerda só importam para formatação de largura fixa (como mostrar um byte completo), não para o valor real do número.
  • Esquecer que dígitos hexadecimais acima de 9 usam letras, não números de dois dígitos. O dez hexadecimal é escrito como A, não 10 — escrever 10 em hex na verdade significa dezesseis em decimal, uma fonte comum de erros consideráveis.
  • Tentar converter um número negativo diretamente. Como observa o FAQ acima, valores binários/hexadecimais negativos dependem de uma largura de bits escolhida e de uma convenção de complemento de dois — não existe uma única conversão inequívoca como há para números inteiros não negativos.

Útil Saber

  • Está trabalhando com endereços de rede em vez de números arbitrários? A Calculadora de Sub-rede IP aplica essa mesma relação binário/decimal especificamente a endereços IPv4.
  • Precisa de números decimais muito grandes ou muito pequenos em forma compacta? A Calculadora de Notação Científica trata desse tipo de conversão em vez disso.
  • Tem curiosidade sobre um sistema de numeração posicional muito mais antigo? A Calculadora de Números Romanos converte de e para algarismos romanos, que usam uma abordagem completamente diferente (não posicional).

Fonte: Conversão padrão de sistema numérico posicional.

Perguntas Frequentes

O que é uma base numérica (radix)?

Uma base numérica é quantos dígitos distintos um sistema numérico usa antes de transportar para o próximo valor posicional. Decimal (base 10) usa os dígitos 0-9; binário (base 2) usa apenas 0 e 1; octal (base 8) usa 0-7; hexadecimal (base 16) usa 0-9 e depois as letras A-F para representar 10-15.

Por que os computadores usam binário?

O hardware do computador é construído a partir de interruptores que estão sempre totalmente ligados ou totalmente desligados, o que mapeia naturalmente para os dois dígitos do binário (1 e 0). Todo valor que um computador armazena ou processa é finalmente representado em binário, mesmo que os programadores geralmente trabalhem com bases mais legíveis para humanos, como decimal ou hexadecimal.

Por que o hexadecimal é usado em vez do binário na programação?

Cada dígito hexadecimal representa exatamente 4 dígitos binários (bits), então um número hexadecimal tem cerca de um quarto do comprimento do número binário equivalente, representando exatamente o mesmo valor — muito mais fácil para uma pessoa ler, digitar e comparar do que uma longa sequência de 1s e 0s.

Esta calculadora consegue lidar com números negativos?

Não — representar um número negativo em binário ou hexadecimal exige escolher uma largura de bits fixa e uma convenção de complemento de dois, que varia por contexto (8 bits, 16 bits, 32 bits, etc.). Esta calculadora é limitada a números inteiros não negativos, onde a conversão é inequívoca.

Confirme sua idade

Para criar uma conta, informe seu mês e ano de nascimento.