Calculadora de bases numéricas
Resultado
Resultado
- Decimal
- 17
- Resto
- 0
Cada base numérica é uma regra para transformar uma sequência de dígitos em um valor: multiplique cada dígito pela base elevada à potência da sua posição, contando de zero a partir da direita, e some os resultados. Na base 2 os únicos dígitos são 0 e 1 e cada passo para a esquerda dobra: 1011 é 1×8 + 0×4 + 1×2 + 1×1, que dá 11. Na base 16 os dígitos vão de 0 a 9 e depois de A a F, e cada passo para a esquerda multiplica por 16: FF é 15×16 + 15, que dá 255. Esta página permite escolher qualquer base de 2 a 36 e então somar, subtrair, multiplicar ou dividir nela. Uma base não é um tipo diferente de número, é uma forma diferente de escrever os mesmos números — é por isso que a página imprime as duas leituras da resposta lado a lado. 1011 mais 110 na base 2 dá 10001; e isso é 11 mais 6, que é 17, e 17 é 10001 na base 2. As duas linhas dizem a mesma coisa; a linha decimal existe para quem não passa o dia em outra base. Vale a pena saber três coisas antes de começar. Dígitos acima de nove precisam de símbolos e, por convenção antiga, as letras de A a Z valem de dez a trinta e cinco, o que faz da base 36 a maior base que se escreve com as teclas de um teclado. Um dígito só é legal se for menor que a base, então 2 não é um dígito na base 2 e 1012 não é um número binário, ainda que pareça. E a própria base não faz parte da resposta: 10001 significa dezessete só porque você disse que a base era dois, então a página imprime os dígitos e deixa a base no campo que você escolheu. A aritmética é aritmética comum — só a grafia muda. A adição vai um quando uma coluna chega à base, e não a dez, e é por isso que FF mais 1 vira 100 em vez de parar em FG; não existe G, porque dezesseis não é um dígito. A divisão é onde a aritmética em outras bases se paga: dividir um número por outro dá um quociente e um resto, e os dois são impressos na sua base. A linha do resto aparece sempre. Na adição, na subtração e na multiplicação ela é 0, porque não sobrar nada e sobrar zero são a mesma afirmação quando se trata de números inteiros. A subtração pode descer abaixo de zero, e a resposta então leva um sinal de menos escrito do modo comum — o sinal não faz parte do conjunto de dígitos.
O número 255 escrito nas bases 2, 8, 10 e 16, com os valores posicionais explicitados
| Base | Escrito nessa base | Valores posicionais |
|---|---|---|
| 2 | 11111111 | 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 |
| 8 | 377 | 3×64 + 7×8 + 7 |
| 10 | 255 | 2×100 + 5×10 + 5 |
| 16 | FF | 15×16 + 15 |
Leia de cima para baixo a coluna do meio e o mesmo valor aparece de quatro formas: 11111111, 377, 255 e FF. Nada no número mudou entre as linhas — só os símbolos e o tamanho dos passos. A terceira coluna é a aritmética que converte cada grafia de volta em 255: na base 2 há oito uns, então as potências de 128 até 1 aparecem todas; na base 16 há só dois dígitos, mas o primeiro é multiplicado por 16, e não por 2. Repare como a largura cai conforme a base sobe. A base 2 precisa de oito dígitos para dizer 255, a base 8 precisa de três, a base 10 precisa de três e a base 16 precisa de dois — uma base maior diz o mesmo valor em menos casas, porque cada casa vale mais. É essa troca a razão de as bases existirem: a base 16 é usada para bytes não porque seja matematicamente especial, mas porque dois dos seus dígitos cobrem exatamente um byte, e a base 2 é usada no nível abaixo porque um fio que só pode estar ligado ou desligado tem exatamente dois estados. A tabela não segue os números que você digitou — o painel acima responde a eles, e esta tabela mostra um valor em quatro grafias.
Fórmula
1011 + 110 = 10001 na base 2, e 11 + 6 = 17 na base 10 ⇒ 10001 na base 2 é 17, um valor escrito de duas formas
- b
- A base, um número inteiro de 2 a 36. É uma caixa de número comum, e não uma lista de trinta e cinco opções, então os limites são impostos na própria caixa: 1 e 37 são recusados antes de a conta começar. A base 1 é impossível porque um único símbolo não conta além do zero, e a base 37 precisaria de um trigésimo sétimo símbolo que nenhum teclado tem
- 1011
- Onze escrito na base 2: 1×8 + 0×4 + 1×2 + 1×1. Leia da direita para a esquerda, porque é nessa direção que as potências correm. Os mesmos onze na base 10 são 11, na base 8 são 13 e na base 16 são B
- 10001
- A resposta de 1011 + 110, ainda na base 2: 1×16 + 0×8 + 0×4 + 0×2 + 1×1, que dá 17. Houve dois vai-um no caminho — a coluna das unidades chegou a 2 e a coluna dos quatros chegou a 2 — e cada vai-um avançou uma casa para a esquerda, exatamente como o vai-um avança na base 10 quando uma coluna chega a dez
- FF
- Quinze vezes dezesseis mais quinze, que dá 255. A base 16 é a base que cabe exatamente em um byte: dois dígitos hexadecimais cobrem todos os valores de 0 a 255, e é por isso que essa base aparece onde quer que apareçam bytes. De A a F são os seis dígitos depois do nove
- 17 ÷ 5 = 3, resto 2
- A divisão escrita por extenso. Na base 2 a mesma divisão é 10001 ÷ 101 = 11 com resto 10, e a página imprime o quociente como resultado e o resto em uma linha própria. O resto é sempre menor que o divisor — é isso que faz dele um resto, e não uma fração
- A a Z
- Os vinte e seis dígitos extras que levam a base 10 até a base 36. A vale dez, B vale onze e Z vale trinta e cinco. Letras maiúsculas e minúsculas funcionam, e a página imprime maiúsculas
Ler um valor de um sistema que fala outra base é o uso do dia a dia. Um despejo de memória imprime bytes como pares de dígitos hexadecimais, uma permissão de arquivo aparece como 755 porque cada um dos três dígitos empacota três bits, uma máscara de sub-rede são quatro grupos de oito bits e um endereço IPv6 é hexadecimal do começo ao fim. Em cada um desses casos o valor decimal não é o que você quer — você quer ver a base que a máquina vê. Escrever para esses mesmos sistemas é o caso espelhado: definir o padrão de bits de um registrador, montar uma cor a partir dos seus bytes de vermelho, verde e azul, ou entender por que um valor deslocado saiu negativo — tudo isso significa fazer contas em uma base que não é dez. Nos estudos, a aritmética em outras bases é ensinada como aquilo que mostra que um sistema posicional é uma escolha e não um fato, e os exercícios são exatamente o que esta página faz: vai um na base 2, empréstimo na base 8, e ver que a mesma operação dá a mesma resposta em qualquer base, desde que os dois lados sejam lidos na mesma base. Um quarto uso é conferir o próprio trabalho: se 1011 mais 110 na base 2 der algo diferente de 17 em decimal, uma das duas leituras está errada, e ter as duas na página é o que torna essa conferência possível. Quando a base é especificamente 2 ou 16, as páginas dedicadas vão mais fundo — a Calculadora binária e a Calculadora hexadecimal são esta mesma aritmética com a base já preenchida, e as páginas de conversão cuidam de passar de uma base para outra sem operação no meio.
Exemplos resolvidos
Somar na base 2: 1011 + 110
- Leia os dois operandos em decimal para saber o que está somando: 1011 é 11 e 110 é 6
- 11 + 6 = 17
- Escreva 17 na base 2: 17 = 16 + 1, então os dígitos são 1 0 0 0 1
- A resposta na base 2 é 10001, e a linha decimal confirma que é 17
A entrada padrão, e a que a tabela abaixo percorre em outra base. Somar as duas cadeias coluna por coluna dá a mesma resposta: 1 + 0 é 1, 1 + 1 é 0 com vai um, depois 0 + 1 mais o vai um é 0 com vai um, e o último vai um cai em uma coluna nova à esquerda. O vai-um quando uma coluna chega a 2 é a soma na base 2 inteira; são os vai-uns que fazem 10001 ter cinco dígitos quando os operandos tinham quatro e três.
O vai-um que passa do último dígito: FF + 1 na base 16
- FF é 15×16 + 15 = 240 + 15 = 255
- Somando 1 dá 256
- Escreva 256 na base 16: 256 = 1×256 + 0×16 + 0, então os dígitos são 1 0 0
- A resposta é 100 na base 16 — que é 256, e não cem
A armadilha para a qual este exemplo existe: 100 é um número pequeno na base 10 e bem maior na base 16. Uma leitura coluna por coluna mostra por que ele sai tão largo — F mais 1 dá dezesseis, que não é um dígito na base 16, então vai um e sobra 0, e o 1 que subiu cai sobre um F cheio, que vai um de novo. Uma única soma moveu a resposta duas casas. É o mesmo acontecimento que 99 + 1 dando 100 na base 10, e é a razão de um byte que estoura de 255 para 256 precisar de um segundo byte.
Divisão com resto: 1011 ÷ 10 na base 2
- 1011 é 11 e 10 é 2
- 11 ÷ 2 = 5 com resto 1
- Escreva 5 na base 2: 5 = 4 + 1, então os dígitos são 1 0 1
- O quociente é 101 e a linha do resto traz 1 — e 101 é 5, o que a linha decimal confirma
A única das quatro operações cujo resto não é zero, e é por isso que a linha do resto existe na página. Repare que o quociente é só a parte inteira: 11 dividido por 2 é 5,5, e a página imprime 101 com resto 1, e não 10,1 nem 101,1, porque um resto mantém a resposta em números inteiros — o meio está naquele 1. A conferência é 5 × 2 + 1 = 11, e ela vale em qualquer base.
Limitações
A base precisa ser um número inteiro de 2 a 36. A base 1 é impossível porque um único dígito não expressa nenhum valor além de zero, e a base 37 precisaria de um trigésimo sétimo símbolo; o campo recusa as duas antes de a conta começar. Decimais e frações são recusados em vez de arredondados, e o mesmo vale para um sinal de menos na frente de um operando: a página lê dígitos, e um sinal ou um ponto não é um dígito. Um dígito grande demais para a base escolhida é um caso à parte, e vale ser franco sobre como ele é tratado. Digite 1012 com a base em 2 e você receberá um erro genérico de cálculo, e não uma mensagem apontando o dígito culpado. Isso é uma troca deliberada, não um descuido: a verificação da caixa de entrada recebe a cadeia e nada mais, então não consegue ler o campo da base ao lado, e as opções honestas eram aceitar qualquer cadeia de dígitos que pudesse ser legal em alguma base ou aceitar qualquer coisa. A página ficou com a primeira. O efeito prático é que a caixa continua limpa e o erro aparece no painel de resultado — a resposta nunca fica errada, só é explicada pior. Os dois operandos são limitados a sessenta caracteres e ao maior número inteiro que um double representa exatamente, 9.007.199.254.740.991 — dezesseis dígitos na base 10 e 53 na base 2 (esse valor se digita sem os pontos). A resposta está sujeita ao mesmo teto: ela é calculada exatamente e depois conferida, então uma operação cujo resultado ultrapasse esse teto é recusada em vez de impressa com arredondamento. As letras podem ser digitadas em maiúsculas ou minúsculas e são impressas em maiúsculas, então ff e FF são a mesma entrada. Zeros à esquerda são aceitos e ignorados, o que significa que 00001011 e 1011 são o mesmo número e os dois são impressos como 1011. Por fim, o Resultado e o Resto são impressos como texto puro, sem separador de milhar: um resultado de um milhão na base 10 aparece como 1000000, enquanto a linha Decimal, que é um número, aparece como 1.000.000 — as duas linhas ficam no mesmo painel e usam grafias diferentes. A tabela de referência abaixo é fixa em 255 nas bases 2, 8, 10 e 16 e não segue o que você digitou — o painel responde aos seus números, a tabela mostra as quatro grafias de um valor lado a lado.
Perguntas frequentes
- Como somo dois números em uma base que não é dez?
- Some coluna por coluna a partir da direita, exatamente como na base 10, mas vá um quando uma coluna chegar à base, e não a dez. Na base 2 o único limiar de vai-um é o 2: 1 + 1 é 0 com vai um. Assim, 1011 + 110 é 10001, porque a coluna dos dois e a coluna dos quatros estouraram cada uma e empurraram um 1 para a casa seguinte. Se preferir não acompanhar os vai-uns, converta os dois operandos para decimal, faça a conta lá e converta de volta — é o que a linha decimal desta página mostra, e ela dá a mesma resposta todas as vezes.
- Por que 1012 deu erro com a base em 2?
- Porque 2 não é um dígito na base 2 — os dígitos são 0 e 1, e nada mais. A regra é que um dígito precisa ser menor que a base, então a base 2 admite 0 e 1, a base 8 admite de 0 a 7, a base 10 admite de 0 a 9 e a base 16 admite de 0 a 9 e de A a F. Você verá isso como um erro genérico de cálculo, e não como uma mensagem apontando o dígito, e essa é uma aresta conhecida: a verificação da caixa de entrada só enxerga a cadeia digitada, não a base escolhida, então ela aceita qualquer cadeia de dígitos que pudesse ser legal em alguma base e deixa a checagem específica da base para a conta. A resposta nunca fica errada, mas a explicação é mais pobre do que deveria.
- Quais bases posso usar, e por que para em 36?
- Qualquer número inteiro de 2 a 36. O teto é o teclado, não a matemática: dígitos acima de nove precisam de símbolos, os símbolos convencionais são as letras de A a Z, e são vinte e seis — dez mais vinte e seis dá trinta e seis. A base 1 é impossível por outro motivo: com um único dígito você não escreve nenhum valor acima de zero, porque toda casa valeria 1 e não haveria como chegar a 2.
- 100 na base 16 é a mesma coisa que cem?
- Não, e esse é o engano que o segundo exemplo da página existe para evitar. Na base 16, 100 significa 1×256 + 0×16 + 0, que dá 256. Os dígitos são os mesmos caracteres, mas as casas valem dezesseis vezes mais a cada passo, em vez de dez, então os mesmos três símbolos representam um valor diferente. A linha decimal da página está ali justamente para que você nunca precise adivinhar qual leitura está valendo.
- Por que o resto aparece sempre, até na adição?
- Porque, para números inteiros, não sobrar nada e sobrar zero são a mesma afirmação, e uma linha que aparece e desaparece é mais difícil de ler do que uma linha que está sempre lá. Na adição, na subtração e na multiplicação a linha traz 0. Só a divisão pode produzir um resto diferente de zero, e ali a linha carrega a parte que não dividiu por igual — 1011 ÷ 10 na base 2 deixa 1, que é a metade de 11 ÷ 2 que o quociente descartou.
- Posso fazer contas na base 10 nesta página?
- Pode, e é um jeito útil de conferir que a página concorda com uma calculadora comum: ponha a base em 10 e tudo se comporta exatamente como você espera, porque os dígitos, os vai-uns e o formato da resposta não mudam. O que você ganha é a linha do resto e a declaração explícita da base, e o que você perde é nada. As páginas vizinhas vão pelo outro caminho: a Calculadora binária e a Calculadora hexadecimal são esta mesma aritmética com a base já em 2 e em 16, e as páginas de conversão cuidam de mudar um valor de uma base para outra sem operação no meio.
Referências
- Base — what a positional number system is, how the digits of a base b expansion are read, and why the base must be a whole number greater than 1 — Wolfram MathWorld (United States)
- Hexadecimal — the base-16 system, the six letters past nine, and the convention that makes two hex digits equal one byte — Wolfram MathWorld (United States)
- Binary — the base-2 system and the place values 1, 2, 4, 8 that its digits stand for — Wolfram MathWorld (United States)