Pular para o conteúdo principal
CalcMax

Calculadora hexadecimal

Resultado

2A5A

Hexadecimal

Decimal
10.842
Binário
10101001011010
Resto
0

Uma calculadora hexadecimal soma, subtrai, multiplica e divide números hexadecimais e dá a resposta em hexadecimal, decimal e binário. A base dezesseis quer dizer que são necessárias dezesseis formas de algarismo onde o decimal tem dez — então as seis que faltam são emprestadas do alfabeto, e A a F representam de dez a quinze. A notação é só isso: A não é um código nem uma abreviação, é o algarismo que vem depois do 9. As quatro operações são as de sempre: soma, subtração, multiplicação e divisão correm coluna por coluna exatamente como a aritmética decimal, com dezesseis como base em vez de dez, então uma coluna transporta quando passa do F em vez de quando passa do 9. A resposta aparece três vezes porque as três leituras servem a leitores diferentes: o hexadecimal é a forma em que o valor costuma ser escrito, o decimal é o que a maioria das pessoas consegue conferir de cabeça, e o binário são os bits por baixo, que é de onde os algarismos hexadecimais vieram. A divisão é inteira, então um resto ganha uma linha própria em vez de um ponto decimal.

Fórmula

2A3F + 1B = 2A5A (10.815 + 27 = 10.842)

2A3F
O primeiro número, escrito na base dezesseis. As letras são algarismos: A é dez, B é onze, até F para quinze. Ler A como qualquer outra coisa é o erro que esta página existe para evitar
+ − × ÷
A operação. Ela corre coluna por coluna exatamente como a aritmética decimal, com dezesseis como base em vez de dez, então uma coluna transporta assim que passa do F
F + 1 = 10
A regra do transporte nesta base: quinze mais um esgota os algarismos e começa uma coluna nova. É o mesmo acontecimento que 9 + 1 = 10 em decimal, uma base adiante
soma de dígito × 16ⁿ
Como a leitura decimal é produzida: cada algarismo multiplicado pelo seu valor posicional, e os resultados somados. É assim que 2A3F dá 10.815 — 8.192 mais 2.560 mais 48 mais 15
4 bits por dígito
Por que esta base é usada. Um algarismo hexadecimal comporta exatamente quatro algarismos binários, então um byte é exatamente dois deles e nenhuma aritmética é necessária para passar de uma notação para a outra — só reagrupamento
resto
O que sobra quando uma divisão não é exata. A linha está sempre presente, e mostra 0 nas três operações que não podem deixar resto — o zero ali significa que a operação não deixou nada, e não que a linha tenha ficado sem preencher
53 bits
A largura de entrada que esta página aceita: até 9.007.199.254.740.991, que aqui é 1FFFFFFFFFFFFF — catorze algarismos. Acima dessa largura um número de máquina deixa de distinguir seus vizinhos, e a aritmética silenciosamente deixaria de ser exata

Hexadecimal é a cara que o binário tem quando uma pessoa precisa lê-lo. Em qualquer lugar onde um valor tenha dezesseis bits ou mais — um endereço de memória, uma cor, um hash, uma listagem de código de máquina, um despejo de registrador de dispositivo, uma captura de pacote de rede — ele é impresso nessa base, e fazer contas com esses valores é tarefa diária de quem trabalha nesse nível. Somar um deslocamento a um ponteiro, descobrir o tamanho de uma estrutura, calcular uma soma de verificação, percorrer uma faixa de endereços durante a depuração ou conferir quais bits uma máscara liga são todas operações que as pessoas fazem com números hexadecimais, e a leitura binária ao lado da resposta é o que devolve o resultado aos sinalizadores e campos que ele representa. Designers e desenvolvedores de front-end encontram essa base nos valores de cor, onde um par de dois algarismos por canal é exatamente o byte que a tela quer. A página também é usada ao contrário: um valor conhecido em decimal é convertido para hexadecimal para ser comparado com uma especificação ou colado numa ferramenta, e a leitura binária responde quais bits estão de fato ligados. Estudantes que estão aprendendo bases numéricas tiram o mesmo proveito, já que as letras são a parte que parece arbitrária até os valores posicionais serem postos na mesa.

Exemplos resolvidos

  1. Somando 2A3F e 1B

    1. Alinhe os dois números pela direita: 2A3F e 001B
    2. Coluna da direita: F + B, que é 15 + 11 = 26 = 16 + 10, então escreva A e transporte 1
    3. Coluna seguinte: 3 + 1 + o 1 transportado = 5, então escreva 5
    4. Coluna seguinte: A + 0 = A, então escreva A
    5. Coluna da esquerda: 2 + 0 = 2, então escreva 2
    6. O resultado é 2A5A, que em decimal é 10.842

    O exemplo de abertura, e o que mostra um transporte atravessando a fronteira das letras: F mais B dá vinte e seis, que é um dezesseis e dez de sobra, então o algarismo anotado é A em vez de um número de dois algarismos. A leitura binária são os mesmos bits reagrupados de quatro em quatro, o que é uma conferência útil do conjunto todo.

  2. Dividindo 2A3F por 1B

    1. Isto é 10.815 dividido por 27
    2. 27 cabe quatrocentas vezes em 10.815 exatamente, sobrando 15
    3. Quatrocentos é 190 em hexadecimal, e o resto quinze é F
    4. A página informa 190 com resto F

    O resto aqui é F, que é quinze — um valor que precisa de letra mesmo sendo menor que o divisor. É também o exemplo que faz a linha do resto, sempre presente, valer o espaço: sem ela a resposta seria 190, e quatrocentas vezes 27 é 10.800, não 10.815.

  3. A mesma soma em minúsculas

    1. Letras minúsculas e maiúsculas são os mesmos algarismos: a é dez exatamente como A
    2. A aritmética não muda, então a resposta é a mesma 2A5A
    3. A página imprime a resposta em maiúsculas independentemente de como a entrada foi digitada

    Vale saber porque as duas convenções estão em uso diário — valores de cor em CSS são quase sempre minúsculos, enquanto desmontadores e folhas de dados imprimem maiúsculas —, e nenhuma das duas está errada. Só a resposta impressa é normalizada, e ela é normalizada para cima.

Limitações

Esta página trabalha apenas com números hexadecimais inteiros. Não existe ponto hexadecimal nem entrada fracionária, então 2A.8 não é aceito; uma divisão que não é exata devolve um quociente truncado mais um resto em vez de uma resposta fracionária. As entradas são limitadas a 1FFFFFFFFFFFFF, que é 9.007.199.254.740.991 — a largura em que um número de máquina deixa de conseguir distinguir seus vizinhos —, e os resultados obedecem ao mesmo teto, então um estouro é reportado em vez de respondido por aproximação. Resultados negativos levam um sinal de menos na frente em vez de serem escritos em complemento de dois, e nenhuma largura fixa é presumida: 1B tem dois algarismos aqui, não é o byte baixo de nada. Minúsculas são aceitas e as respostas são impressas em maiúsculas. A divisão por zero é recusada. A página faz aritmética e conversão em três bases; ela não faz operações bit a bit, e aqui não existe AND, OR, XOR nem deslocamento. As linhas Hexadecimal, Binário e Resto do painel são impressas como as cadeias de algarismos que são, sem separador de milhar; a separação de milhar aparece apenas na linha Decimal, que mostra 10.842.

Perguntas frequentes

O que as letras significam?
Elas são algarismos. A base dezesseis precisa de dezesseis formas distintas de algarismo e o conjunto familiar só tem dez, então A a F representam de dez a quinze — A é dez e F é quinze. Nada é codificado pela escolha das letras; elas são simplesmente os caracteres seguintes do alfabeto, e qualquer conjunto de dezesseis símbolos distintos faria o mesmo papel. Maiúsculas e minúsculas são exatamente o mesmo algarismo aqui.
Por que 1 + 1 não transporta aqui, se no binário transporta?
Porque a base é diferente, então a coluna se esgota em outro ponto. Na base dois não existe algarismo para o dois, então dois uns transportam imediatamente. Na base dezesseis existem algarismos até quinze, então uma coluna só transporta quando a soma passa do F. Dois mais dois é quatro em toda base; o que muda é só o conjunto de símbolos com que se conta.
Maiúsculas e minúsculas na entrada fazem diferença?
Não. 2a3f e 2A3F são o mesmo número e as duas formas são aceitas, porque as letras são algarismos e um algarismo não tem caixa. As respostas são impressas em maiúsculas de qualquer jeito. As duas convenções estão em uso diário — valores de cor em CSS costumam ser escritos em minúsculas, enquanto desmontadores e folhas de dados usam maiúsculas —, então aceitar as duas não custa nada e recusar qualquer uma seria arbitrário.
Qual é o maior número que posso digitar?
1FFFFFFFFFFFFF, que dá catorze algarismos hexadecimais e 9.007.199.254.740.991 em decimal — em binário, 53 algarismos, todos uns. Acima dessa largura uma máquina não consegue mais distinguir números inteiros vizinhos, então a aritmética silenciosamente deixaria de ser exata: a resposta pareceria um número sem ser. Entradas mais largas são recusadas em vez de truncadas, e um resultado que estoura esse mesmo teto também é recusado.
Isto é a mesma coisa que um conversor de base?
É a metade aritmética de um. Esta página recebe dois números e uma operação; as páginas que convertem um único valor entre bases são separadas e estão ligadas a partir desta. Juntar tudo numa página única com uma base de entrada e uma lista de base de saída seria outro projeto, e perderia a capacidade de conferir a forma do que você digita — uma página que aceita qualquer base não consegue avisar que 2G não é um número na base escolhida.
Por que existe sempre uma linha de resto?
Porque o painel de resultados é um conjunto fixo de linhas, e não uma lista que muda de forma conforme a operação, e uma linha que aparecesse e sumisse seria mais difícil de ler do que uma que fica no lugar. Somar, subtrair e multiplicar números inteiros não pode deixar resto, então a linha mostra 0 nesses casos, e esse zero é a resposta honesta, não um espaço reservado. Na divisão, é ela que impede um quociente truncado de parecer uma resposta exata.

Referências

Calculadoras relacionadas