Guia de conversão em HEX:
Como o sistema hexadecimal funciona e como entender números em HEX:
- Hexadecimal significa que levam 16 unidades para um número ter dois dígitos.
- Decimal (sistema convencional) significa que levam 10 unidades para um número ter dois dígitos.
Um "10" no sistema decimal significa dez, e "10" em hexadecimal significa dezesseis.
O "1" em 10 significa uma casa decimal acima (dez ou dezesseis unidades alcançadas). Uma fórmula simples para saber isso:
- Por enquanto, utilizaremos números com somente dois algarismos. Pegue o primeiro algarismo à esquerda e multiplique-o por "quanto leva para ter dois dígitos" no sistema que estiver utilizando (dez ou dezesseis).
- Ex. 1: Pegue o número 10: 1(o primeiro algarismo) multiplicado por 10(o quanto leva para ter dois dígitos) = 10. Em sistema decimal 10 significa dez.
- Agora: 1 x 16 = 16. Em sistema hexadecimal 10 significa dezesseis. "10" representa um 16 mais 0.
- Ex. 2: Pegue 20: Direto em HEX. 2 x 16 = 32.
- Ex. 3: Pegue 70: 7 x 16 = 112.
- Ex. 4: Pegue 90: 9 x 16 = 144.
O último algarismo, que representa as unidades, tem de ser apenas adicionado à soma. Mais exemplos mais tarde.
Agora é hora de ver esta tabela:
| Decimal: | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| Hexadecimal: | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | 10 | 11 | 12 | 13 | 14 |
Eu espero que deu pra ver que em hexadecimal as letras de A a F funcionam como algarismos/números substitutos. Já que o número terá duas casas somente quando chegar a 16, são necessários novos algarismos que ocupem apenas uma casa para representar os números de 10 a 15.
Ao invés de serem criados novos algarismos/números, letras foram adotadas.
(Eu uso o termo "casa decimal" quando me refiro a números em HEX, mas o certo seria "casa hexadecimal")
- Agora, para completar nosso (não - seu) conhecimento, aqui estão os outros exemplos incluíndo o valor das unidades:
- Ex. 5: Pegue 47: 4 x 16 = 64; 64 + 7 = 71. Em decimal, 4 x 10 = 40; 40 + 7 = 47.
- Ex. 6: Pegue 11: 1 x 16 = 16; 16 + 1 = 17.
- Ex. 7: Pegue 98: 9 x 16 = 144; 144 + 8 = 152.
- Utilizemos agora os novos algarismos HEX:
- Ex. 8: Pegue 1C: 1 x 16 = 16; 16 + 12(o valor que C representa) = 28.
- Ex. 9: Pegue 1F: 1 x 16 = 16; 16 + 15 = 31.
- Ex. 10: Pegue 5A: 5 x 16 = 80; 80 + 10 = 90.
- Ex. 11: Pegue A0: 10 x 16 = 160.
- Ex. 12: Pegue BD: 11 x 16 = 172; 172 + 13 = 185.
- Ex. 13: Pegue E3: 14 x 16 = 224; 224 + 3 = 227.
- Ex. 14: Pegue EE: 14 x 16 = 224; 224 + 14 = 238.
- Ex. 15: Pegue FF: 15 x 16 = 240; 240 + 15 = 255.
Bem, eu espero que você já saiba como fazer. Ou, melhor, não vou ficar na esperança, aqui estão alguns exercícios para você:
(digite os resultados no campo que está no centro de cada pergunta, então clique em "Ok"; você pode utilizar uma calculadora também - mas não o conversor de cores!)
Quer mais? É a minha vingança dos tempos de escola - fazer o mesmo aos outros...bem, err...voltemos ao assunto. É hora de fazer o inverso: por números decimal em HEX!
Você precisará apenas ter completado a 4a série e saber a fórmula:
- De decimal para HEX: há duas formas - 1) fazer no papel ou na sua mente; 2) fazer na calculadora.
- 1) Divida o número por 16 e guarde o resto da divisão. Utilize a tabela de equivalentes numéricos (A=10...). Você tem agora o algarismo/número que ocupa a casa decimal. O resto se torna as unidades. Você não deve somar os resultados, apenas juntar os algarismos/números individuais que obter lado-a-lado.
Ex. 1: Você tem 81: 81 dividido por 16 (81 / 16) = 5. O resto da divisão é 1. O resultado final é "51" em HEX.
Ex. 2: Você tem 200: 200 / 16 = 12(C). O resto é 8. O resultado final é "C8" em HEX.
- 2) Divida o número por 16. O que obter antes da vírgula (ponto nas calculadoras em inglês) é o algarismo/número para ocupar a casa decimal do resultado final. Converta-o para um algarismo em HEX se necessário. Já que não terá o resto da divisão numa calculadora, pegue o número depois da vírgula e multiplique-o isoladamente por 16. Ele será as unidades.
Ex. 1: Você tem 200 novamente: 200/16 = 12,5 (você tem agora C vindo do 12). 0,5 x 16 = 8. O resultado é "C8" em HEX.
Ex. 2: Você tem 73 laranjas. Um grego lhe pede para anotar a quantia em hexadecimal. Supondo que você não irá mentir por motivo nenhum: 73/16 = 4,5625. Agora 0.5625 x 16 = 9. O resultado: "49" em HEX.
Ex. 3: Você quer saber o que seu amigo geek (todos temos um) escreveu no verso da sua prova de história - 227 - tem haver com alguma coisa sequer. Tentando entender, você tenta uma possibilidade - sim - : convertê-lo para hexadecimal. 227/16 = 14,1875. Faça 0,1875 x 16 = 3. "E3". Tinha de ser aquele desajustado para anotar isto em HEX inverso no verso de sua prova!
- Veja também a tabela abaixo que contém referência rápida para o equivalente inteiro dos restos de divisão que obtiver no caso 2).
E agora é hora para mais exercícios (nãoooo)! Bem, só três.
Última parte: números maiores que 255 / mais de 3 algarismos hexadecimais.
- De HEX para decimal:
- Você pega cada algarismo de um número hexadecimal e multiplica-os individualmente por 16sua casa decimal. A casa decimal é o "número" do algarismo, contando a partir de 0 da direita para a esquerda (é 1 para o "1" em "10", 2 para o "1" em "100", etc.)
- Exemplo: Você tem 123 maçãs HEX :-) Última casa decimal (à esquerda): 1 x 162 = 256 (162 é 16 duas vezes - 16 x 16). Casa do meio: 2 x 161 = 32 (161 é o mesmo que só 16). Adicione todos eles (incluindo as unidades): 256 + 32 + 3 = 291.
- Último exemplo: Pegue 5280A0. Iremos mais rápido com este:
- 5 x 165 = 5.242.880
- 2 x 164 = 131.072
- 8 x 163 = 32.768
- 0 x 162 = 0
- 10(A) x 16 = 160
- Adicione todos: 5.242.880 + 131.072 + 32.768 + 0 + 160 + 0(as unidades) = 5.406.880 em decimal.
- Decimal to HEX:
- If the number you have is equal to or greater than 16, you must divide it. Should the result of the first division by 16 be still equal to or greater than 16, you go on dividing. The rest of the first division becomes the units in the HEX number (last digit on the right). The rest of each successive division is placed on its left. The result of the last division you'll have to make becomes the last algarism on the left of the HEX number. Once again, numbers from 10 to 15 have to be replaced by HEX algarisms.
- Example: Put 900 into HEX. 900/16 = 56. The rest is 4. Once again: 56/16 = 3, and the rest 8. The final number is "384".
- Another example: Put 256 into HEX. 256/16 = 16. There's no rest. Again, 16/16 = 1. The final outcome is "100".
- Last enormous example: 6983400. Going fast:
- 6983400/16 = 436462, rest 8.
- 436462/16 = 27278, rest 14 (E).
- 27278/16 = 1704, rest 14 (E).
- 1704/16 = 106, rest 8.
- 106/16 = 6, rest 10 (A).
- Putting them all together, last one first: "6A8EE8" (including the result of the last division).
For your leisure, I offer you the table containing "quick conversion" numbers for a calculator to convert decimal to HEX:
(these represent the numbers after the "," or "." in a division; numbers in ascending order)
| Divided rest: | 0,0625 | 0,125 | 0,1875 | 0,25 | 0,3125 | 0,375 | 0,4375 | 0,5 | 0,5625 | 0,625 | 0,6875 | 0,75 | 0,8125 | 0,875 | 0,9375 |
| Undivided rest: | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A(10) | B(11) | C(12) | D(13) | E(14) | F(15) |
Formula Reference
(in any operation, remember to convert HEX numbers A-F to and from decimal numbers 10-15 as needed)
- HEX to decimal:
Multiply each algarism individualy by 16decimal place and add the individual results to obtain the final one.
place is the number of the place where the algarism is at, starting with 0 from right to left.
Note: 160 = 1, and 161 = 16.
- Decimal to HEX:
As long as the number is equal to or greater than 16, divide it by 16. The rest of each division is placed as a single HEX algarism on the left of the previous, until the result of the last division is placed also on the left.
HEX conversion guide written by
- 2004
|