Bases e conversão entre elas

Notação posicional: a posição dos algarismos ou dígitos determina o valor
Algarismos componentes de um número assumem valores diferentes dependendo da posição relativa no número. O valor total é a soma dos valores relativos.
Base: quantidade de algarismos disponíveis em um dado sistema de numeração.


Número 2313 na base 10.
Cada algarismo possui um valor correspondente dependendo da posição:
3 = 3 x 10 0
10 = 1 x 10 1
300 = 3 x 10 2
2000 = 2 x 10 3
2000 + 300 + 10 + 3= 2313
N=(dn-1dn-2dn-3...d1d0)
d=algarismo do número
n-1, n-2, n-3, ..., 1, 0= posição de cada algarismo
b=base
n=número de dígitos
N=dn-1x bn-1+dn-2x bn-2+...d1x b1+d0x b0
N=5642
n=4 dn-1=d3=5; d2=6; d1=4; d0=2;
N=5 x 10 3+6x 102 + 4 x 10 1 + 2 x 10 0= 5000 + 600 + 40 + 2= 564210

Números fracionários:


N=dn-1x bn-1+dn-2x bn-2+...d1x b1+d0x b0 +d-1x b-1+d-2x b-2+...d-mx b-m
Exemplo: 59,21 = 5 x 10 1+ 9 x 10 0 + 2 x 10 -1 + 1 x 10 -2 = 50 + 9 +0,2 + 0,01= 59,21
Exemplo: 33,5 = 3 x 10 1+ 3 x 10 0 + 5 x 10 -1 = 30 + 3 +0,5 = 33,5

Base 2 e potência de 2


Quanto menor a base, mais dígitos são necessários e pior a visualização, por isso utilizam-se potências de 2. Base 8 (octal) ou 16 (hexadecimal).
(10111)2=1x24+0x23+1x22+1x21+1x20=23
(312)5=3x52+1x51+2x50=82
(130)8=1x82+3x82+0x80=88
Número máximo de algarismos diferentes em 1 base é igual ao valor da base:

Base hexadecimal: (12BC)16= 1x163+2x162+11x161+12x160=1x4096+2x256+11x16+12=4096+512+176+12=479610

Base 10

Base 2

Base 8

Base 16

0

0

0

0

1

1

1

1

2

10

2

2

3

11

3

3

4

100

4

4

5

101

5

5

6

110

6

6

7

111

7

7

8

1000

10

8

9

1001

11

9

10

1010

12

A

11

1011

13

B

12

1100

14

C

13

1101

15

D

14

1110

16

E

15

1111

17

F

16

10000

20

10

17

10001

21

11


Cada dígito octal corresponde a combinação de 3 dígitos binários
8=23
N=d8x 28+d7x 27+...+d2x 23+d1x 21+d0x 20
Para converter da base 2 para 8, divide-se o número em grupos de 3 bits da direita para a esquerda e acha-se o dígito octal equivalente:
Exemplo: (111 010 111)2=(727)8
Exemplo: (1 010 011 101)2=(1235)8
Para converter da base 8 para 2, substitui-se cada dígito na base 8 pelo grupo de 3 bits equivalente na base 2:
Exemplo: (357)8=(011 101 111)2=(11101111)2
Exemplo: (765)8=(111 110 101)2
Conversão entre as bases 2 e 16
Cada dígito hexadecimal corresponde a combinação de 4 dígitos binários
16=24
N=d8x 28+d7x 27+...+d2x 23+d1x 21+d0x 20
Para converter da base 2 para 16 agrupam-se os dígitos em grupos de 4 e encontra-se dígito correspondente na base 16.
Exemplo: (10 1101 1011)2=(2DB)16
Exemplo: (10 0111 0011 1101)2=(273D)16
Para converter da base 16 para base 2, encontra-se o grupo de 4 dígitos na base 2 correspondente ao dígito na base 16.
Exemplo: (316)16=(0011 0001 0110)2
Exemplo: (B10)16=(1011 0001 0000)2
Para converter da base 8 para 16, converte para base 2 e depois para 16.
Exemplo: (3174)8=(011 001 111 100)2=(67C)16
Exemplo: (2E7A)16=(0010 1110 0111 1010)2=(27172)8

Conversão de base B para base 10.


N=(dn-1dn-2dn-3...d1d0)
N=dn-1x bn-1+dn-2x bn-2+...d1x b1+d0x b0
Exemplo: 11100102
26+25+24+21=64+32+16+2=114
Exemplo: 328
3x 81+2 x 80=26
Exemplo: 2A216
2x162+10 x 161+2x160=512+160+2=674

Conversão de números decimais para base B


Conversão de números inteiros
N={[(dn-1 x b + dn-2) x b + dn-3] x b + ... + d1} x b + d0
N=N0=N1xb+d0
N1=N2xb+d1
N2=N3xb+d2
Nn-1=dn-1
N=N0=72351=N1xb+d0=7235x10+1 -> d0=1
N1=7235=N2xb+d1=723 x 10 +5 -> d1=5
N2=723=N3xb+d2=72x10+3 -> d2=3
N3=72=N4xb+d3=7x10+2 -> d3=2
N4=7 -> d4=7
Como por definição di é maior que 0 e menor que a base B, ele pode ser obtido dividindo-se de forma inteira Ni pela base B e o resto da divisão será o algarismo desejado.
Algoritmo básico:

  1. i=0
  2. Ni=N
  3. enquanto Ni diferente de 0
    • di=resto da divisão de Ni por B
    • Ni+1=quociente de Ni por B
    • i=i+1

Exemplo: Converter os números abaixo na base 10 para base 2
5/2=2, sobra 1, logo d0=1
2/2=1, sobra 0, logo d1=0
1/2=0, sobra 1, logo d2=1
52=1012
183/2=91, sobra 1, logo d0=1
91/2=45, sobra 1, logo d1=1
45/2=22, sobra 1, logo d2=1
22/2=11, sobra 0, logo d3=0
11/2=5, sobra 1, logo d4=1
5/2=2, sobra 1, logo d5=1
2/2=1, sobra 0, logo d6=0
1/2=0, sobra 1, logo d7=1
18310=101101112
2321/2=1160, sobra 1, logo d0=1
1160/2=580, sobra 0, logo d1=0
580/2=290, sobra 0, logo d2=0
290/2=145, sobra 0, logo d3=0
145/2=72, sobra 1, logo d4=1
72/2=36, sobra 0, logo d5=0
36/2=18, sobra 0, logo d6=0
18/2=9, sobra 0, logo d7=0
9/2=4, sobra 1, logo d8=1
4/2=2, sobra 0, logo d9=0
2/2=1, sobra 0, logo d10=0
1/2=0, sobra 1, logo d11=1
232110=1001000100012

Conversão de números fracionários

N=d-1x b-1+d-2x b-2+...d-mx b-m
Algoritmo:

  1. i = -1
  2. N´ = N x b
  3. di = parte inteira de N´
  4. enquanto parte fracionária de N´ # 0 e número de bits <= m
    • N´ = parte fracionária de N´ x b
    • i = i-1;
    • di = parte inteira de N´

Exemplo:
0,7265625 x 2 = 1,453125 -> d-1=1
0,453125 x 2 = 0,90625 -> d-2=0
0,90625 x 2 = 1,8125 -> d-3=1
0,8125 x 2 = 1,625 -> d-4=1
0,625 x 2 = 1,25 -> d-5=1
0,25 x 2 = 0,5 -> d-6=0
0,5 x 2 = 1,0 -> d-7=1
0,7265625=(0,1011101)2
Exemplo:
0,46 x 2 = 0,92 -> d-1=0
0,92 x 2 = 1,84 -> d-2=1
0,84 x 2 = 1,68 -> d-3=1
0,68 x 2 = 1,36 -> d-4=1
0,36 x 2 = 0,72 -> d-5=0
0,72 x 2 = 1,44 -> d-6=1
0,44 x 2 = 0,88 -> d-7=0
0,46 = 0,01110102