Sistema de numeração hexadecimal
# Sistema de numeração hexadecimal

O sistema hexadecimal é um sistema de numeração posicional que representa os números em base 16, portanto empregando 16 símbolos.
Está vinculado a informática, pois os computadores costumam utilizar o byte ou octeto como unidade básica da memória; e, devido a um byte representar $2^{8}=256$ valores possíveis, e isto pode representar-se como $2^{8}=2^{4}\cdot 2^{4}=16\cdot 16=1\cdot 16^{2}+0\cdot 16^{1}+0\cdot 16^{0}$, o que, segundo o teorema geral da numeração posicional, equivale ao número em base 16 $100_{16}$, dois dígitos hexadecimais correspondem exactamente —permitem representar a mesma linha de inteiros— a um byte.
Ele é muito utilizado para representar números binários de uma forma mais compacta, pois é muito fácil converter binários pra hexadecimal e vice-versa. Dessa forma, esse sistema é bastante utilizado em aplicações de computadores e microprocessadores (programação, impressão e displays).
Devido ao sistema decimal geralmente usado para a numeração apenas dispor de dez símbolos, deve-se incluir seis letras adicionais para completar o sistema. O conjunto de símbolos fica, portanto, assim
    $S=\{0,1,2,3,4,5,6,7,8,9,\mathrm {A} ,\mathrm {B} ,\mathrm {C} ,\mathrm {D} ,\mathrm {E} ,\mathrm {F} \}$

## Contagem em Hexadecimal

Assim como nos outros sistemas numéricos, após o uso de todos os dígitos hexadecimais, se inicia a repetição com a adição de outro dígito: (...) 8, 9,A(10), B(11), C(12), D(13), E(14), F(15), ... Pode parecer pouca a diferença para os números decimais, porém esses 6 dígitos a mais fazem muita diferença. Por exemplo, com dois dígitos, em decimal, é possível fazer 100 combinações diferentes. Em hexadecimal, esse número sobe para 256.

## Conversão de Binário para Hexadecimal

Um dígito em hexadecimal pode representar um número binário de 4 dígitos, dessa forma, para transformar um binário em hexadecimal, separamos o binário em grupos de 4 bits, começando pela direita.

### Exemplo

Binário: 1101000101100011.
1º - separar em grupos de quatro bits:
2º - identificar os números hexadecimais correspondentes:
Hexadecimal: D163.

## Conversão de Hexadecimal para Binário

É o inverso do processo anterior. Cada digito será transformado em um número binário de 4 bits.

### Exemplo

Binário: 1111001010100111.

## Conversão de Decimal para Hexadecimal

Ver-se-á um exemplo numérico para obter o valor de uma representação hexadecimal: 3E0A$_{(16)}$ = 3×16$^3$ + E×16$^2$ + 0×16$^1$ + A×16$^0$ = 3×4096 + 14×256 + 0×16 + 10×1 = 15882
Exemplos para obter um número hexadecimal de um número decimal:

## Adição Hexadecimal

É possível realizar adições diretamente com números hexadecimais. Basta lembrar que os dígitos 0-9 equivalem aos mesmos em decimal, e que os dígitos a-f equivalem aos decimais 10-15. Assim como na soma de decimais, devemos começar pela direita.
* Realize a soma por colunas, e pense nos valores decimais dos dígitos
* Se a soma dos dígitos for menor que 15 (em decimal), registre o valor (em hexadecimal)
* Se a soma dos dígitos for maior que 15, subtraia 16 do resultado, registre o numero hexadecimal e gere um carry na próxima coluna

### Exemplo

$DF+AC$
$F+C=15+12=27$
$27-16=11=B$
$D+A+1(carry)=13+10+1=24$
$24-16=8$ com carry de 1. Então: $DF+AC=18B$

## Tabela de conversão entre hexadecimal, decimal, octal e binário

| 0$_{hex}$ | = | 0$_{dec}$ | = | 0$_{oct}$ | 0 | 0 | 0 | 0 |
| 1$_{hex}$ | = | 1$_{dec}$ | = | 1$_{oct}$ | 0 | 0 | 0 | 1 |
| 2$_{hex}$ | = | 2$_{dec}$ | = | 2$_{oct}$ | 0 | 0 | 1 | 0 |
| 3$_{hex}$ | = | 3$_{dec}$ | = | 3$_{oct}$ | 0 | 0 | 1 | 1 |
| 4$_{hex}$ | = | 4$_{dec}$ | = | 4$_{oct}$ | 0 | 1 | 0 | 0 |
| 5$_{hex}$ | = | 5$_{dec}$ | = | 5$_{oct}$ | 0 | 1 | 0 | 1 |
| 6$_{hex}$ | = | 6$_{dec}$ | = | 6$_{oct}$ | 0 | 1 | 1 | 0 |
| 7$_{hex}$ | = | 7$_{dec}$ | = | 7$_{oct}$ | 0 | 1 | 1 | 1 |
| 8$_{hex}$ | = | 8$_{dec}$ | = | 10$_{oct}$ | 1 | 0 | 0 | 0 |
| 9$_{hex}$ | = | 9$_{dec}$ | = | 11$_{oct}$ | 1 | 0 | 0 | 1 |
| A$_{hex}$ | = | 10$_{dec}$ | = | 12$_{oct}$ | 1 | 0 | 1 | 0 |
| B$_{hex}$ | = | 11$_{dec}$ | = | 13$_{oct}$ | 1 | 0 | 1 | 1 |
| C$_{hex}$ | = | 12$_{dec}$ | = | 14$_{oct}$ | 1 | 1 | 0 | 0 |
| D$_{hex}$ | = | 13$_{dec}$ | = | 15$_{oct}$ | 1 | 1 | 0 | 1 |
| E$_{hex}$ | = | 14$_{dec}$ | = | 16$_{oct}$ | 1 | 1 | 1 | 0 |
| F$_{hex}$ | = | 15$_{dec}$ | = | 17$_{oct}$ | 1 | 1 | 1 | 1 |

## Fracções

As fracções, no seu desenvolvimento hexadecimal, não são exactas a menos que o denominador seja potência de 2. Contudo, os períodos não costumam ser muito complicados.
    1/2 = 0,8
    1/3 = 0,55...
    1/4 = 0,4
    1/5 = 0,33...
    1/6 = 0,2AA...
    1/7 = 0,249249...
    1/8 = 0,2
    1/9 = 0,1C1C...
    1/A = 0,199...
    1/B = 0,1745D1745D...
    1/C = 0,155...
    1/D = 0,13B13B...
    1/E = 0,1249249...
    1/F = 0,11...

## Tabela de multiplicação

| | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | 10 |
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | 10 |
| 2 | 0 | 2 | 4 | 6 | 8 | A | C | E | 10 | 12 | 14 | 16 | 18 | 1A | 1C | 1E | 20 |
| 3 | 0 | 3 | 6 | 9 | C | F | 12 | 15 | 18 | 1B | 1E | 21 | 24 | 27 | 2A | 2D | 30 |
| 4 | 0 | 4 | 8 | C | 10 | 14 | 18 | 1C | 20 | 24 | 28 | 2C | 30 | 34 | 38 | 3C | 40 |
| 5 | 0 | 5 | A | F | 14 | 19 | 1E | 23 | 28 | 2D | 32 | 37 | 3C | 41 | 46 | 4B | 50 |
| 6 | 0 | 6 | C | 12 | 18 | 1E | 24 | 2A | 30 | 36 | 3C | 42 | 48 | 4E | 54 | 5A | 60 |
| 7 | 0 | 7 | E | 15 | 1C | 23 | 2A | 31 | 38 | 3F | 46 | 4D | 54 | 5B | 62 | 69 | 70 |
| 8 | 0 | 8 | 10 | 18 | 20 | 28 | 30 | 38 | 40 | 48 | 50 | 58 | 60 | 68 | 70 | 78 | 80 |
| 9 | 0 | 9 | 12 | 1B | 24 | 2D | 36 | 3F | 48 | 51 | 5A | 63 | 6C | 75 | 7E | 87 | 90 |
| A | 0 | A | 14 | 1E | 28 | 32 | 3C | 46 | 50 | 5A | 64 | 6E | 78 | 82 | 8C | 96 | A0 |
| B | 0 | B | 16 | 21 | 2C | 37 | 42 | 4E | 58 | 63 | 6E | 79 | 84 | 8F | 9A | A5 | B0 |
| C | 0 | C | 18 | 24 | 30 | 3C | 48 | 54 | 60 | 6C | 78 | 84 | 90 | 9C | A8 | B4 | C0 |
| D | 0 | D | 1A | 27 | 34 | 41 | 4E | 5B | 68 | 75 | 82 | 8F | 9C | A9 | B6 | C3 | D0 |
| E | 0 | E | 1C | 2A | 38 | 46 | 54 | 62 | 70 | 7E | 8C | 9A | A8 | B6 | C4 | D2 | E0 |
| F | 0 | F | 1E | 2D | 3C | 4B | 5A | 69 | 78 | 87 | 96 | A5 | B4 | C3 | D2 | E1 | F0 |
| 10 | 0 | 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | A0 | B0 | C0 | D0 | E0 | F0 | 100 |