Sistemas de
Numeração
Representação da Informação
para seres humanos
•
•
•
•
Números (1,2,3,4...)
Letras (a,A,b,B,c,C...)
Sinais de pontuação (:,;...)
Operadores aritméticos (+,-,x,/)
Representação da Informação
para computadores
•
Apenas usam os dois
níveis de sinal eléctrico:
zero ou um.
•
Alfabeto apenas com
dois símbolos! (digitos
binários ou bits)
•
Toda a informação é
representada apenas
por conjuntos de bits.
Cálculos para os seres
humanos
•
Os cálculos aritméticos são feitos usando o
sistema de numeração decimal.
•
Numeração de base 10.
Cálculos para os
computadores
•
Executam todas as suas operações (quer
sejam aritméticas ou lógicas) usando
sistema binário, ou sistema de numeração
de base 2.
Sistema Decimal
Sistema Decimal
Ou de base 10
•
Utiliza 10 símbolos (algarismos) para
representar quantidades:
{1, 2, 3, 4, 5, 6, 7, 8, 9, 0}
•
De um modo geral dizemos que a base de
um sistema de numeração é dada pelo
número de diferentes símbolos usados.
Sistema Decimal
Ou de base 10
•
Um número decimal é formado por uma
combinação de algarismos.
•
Para obter a quantidade representada por
um número temos de multiplicar cada um
dos algarismos por uma potência de 10.
Sistema Decimal
Ou de base 10
27315
Sistema Decimal
Ou de base 10
27315
20000 + 7000 + 300 + 10 + 5
ou
2 x 104 + 7 x 103 + 3 x 102 + 1 x 101 + 5 x 100
Sistema Decimal
Ou de base 10
Como se representam os seguintes
números em potências de 10?
•
•
•
342 = 3x102 + 4x101 + 2x100
6287 = 6x103 + 2x102 + 8x101 + 7x100
505 = 5x102 + 0x101 + 5x100
Sistema Binário
Sistema Binário
Ou de base 2
•
Tal como no sistema decimal temos
unidades, dezenas, centenas, milhares, etc..
convencionamos que:
〪 Os dígitos binários 0 e 1 são bits
〪 8 bits = 1 byte
〪 16 bits = 1 word
〪 32 bits = 1 double word
Sistema Binário
Ou de base 2
•
Para contar em decimal, usamos
intuitivamente um algoritmo onde, da
direita para a esquerda, incrementamos um
contador a 0 e quando passa o valor 9
(valor do símbolo mais elevado) voltamos a
zero e incrementamos em um o algarismo
imediatamente à esquerda.
Sistema Binário
Ou de base 2
•
Para contar em binário usamos
exactamente o mesmo algoritmo que no
sistema decimal, mas o valor máximo é 1.
•
Assim temos uma contagem que funciona
do seguinte modo:
0000, 0001, 0010, 0011, 0100, 0110, 0111,
1000, etc.
Sistema Binário
Ou de base 2
“Existem 10 tipos de pessoas no mundo. Os
que percebem binário e os que não
percebem binário.”
Conversão Entre
Binário e Decimal
Conversão
Binário - Decimal
•
Para converter em decimal um número
representado por uma sequência de bits
temos de multiplicar cada um dos bits por
uma potência de 2, à semelhança do que
fazemos no sistema decimal quando
representamos um algarismo em potências
de 10.
Conversão
Binário - Decimal
10100
Conversão
Binário - Decimal
10100
1 x 24 + 0 x 23 + 1 x 22 + 0 x 21 + 0 x 20
16
0
4
0
0
Conversão
Binário - Decimal
10100
= 16 + 0 + 4 + 0 + 0
= 2010 Indica a base do número!
Conversão
Binário - Decimal
A que correspondem no sistema decimal
os seguintes números binários?
•
•
•
110012
= 1x24 + 1x23 + 0x22 + 0x21 + 1x20
10110012 = 1x26 + 1x24 + 1x23 + 1x20
01102
= 1x22 + 1x21
Conversão
Binário - Decimal
A que correspondem no sistema decimal
os seguintes números binários?
•
•
•
110012 = 2510
10110012 = 8910
01102 = 610
Conversão
Binário - Decimal
128 64 32 16 8 4 2 1
10011011
128 + 0 + 0 + 16 + 8 + 0 + 2 + 1 = 255
Conversão
Binário - Decimal
10011011
Bit mais significativo
Bit menos significativo
(MSB: Most Significant Bit)
(LSB: Least Significant Bit)
Conversão Entre
Decimal e Binário
Conversão
Decimal - Binário
•
Para converter um número decimal na sua
representação binária existem dois
métodos possíveis.
1.
Extraír potências de 2;
2.
Dividir consecutivamente por 2.
Conversão
Decimal - Binário
1. Extraír do número decimal potências na
base 2 até à potência 20. Atribui-se de
seguida ao número binário resultante um 1
para cada posição binária correspondente a
cada potência extraída;
Conversão
Decimal - Binário
25
25 = 32 : demasiado alto → 0
24 = 16 : menor que 25 → 1
2510 = 0110012
25 - 16 = 9
9
23 = 8 : menor que 9
→1
9-8=1
1
22 = 4 : demasiado alto → 0
21 = 2 : demasiado alto → 0
20 = 1 : igual a 1
→1
2510 = 110012
Podemos ignorar o primeiro
bit. Note que 011001 e 11001
representam o mesmo valor!
Conversão
Decimal - Binário
2. Dividir o número decimal sucessivamente
por dois até não ser possível. Os restos de
cada operação formam o número binário.
‣ O quociente da última operação é o
bit mais significativo.
‣ O resto da primeira operação é o
bit menos significativo.
Conversão
Decimal - Binário
LSB
25
2
1
12
2
0
6
2
0
3
2
1
1
2510 = 110012
MSB
Conversão
Decimal - Binário
LSB
30
2
0
15
2
1
7
2
1
3
2
1
1
3010 = 111102
MSB
Conversão
Decimal - Binário
A que correspondem no sistema binário
os seguintes números decimais?
•
•
•
9110 = 10110112
22710 = 111000112
6610 = 10000102
Operações Binárias
Adição Binária
•
A adição binária segue os seguintes
princípios:
〪0 + 0 = 0
〪0 + 1 = 1
〪1 + 0 = 1
〪 1 + 1 = 10 ➙ 0 ⎵1
(0 com transporte de 1 para a posição
imediatamente superior)
Adição Binária
Qual o resultado das seguintes
operações em binário?
•
•
•
01012 + 01002
1010102 + 10012
1001102 + 11112
Adição Binária
1
0101 = 510
+ 0100 = 410
1001 = 910
1 11
1
101010 = 4210
+ 001001 = 910
110011 = 5110
100110 = 3810
+ 001111 = 1510
110101 = 5310
Subtração Binária
•
A subtração binária segue as seguintes
regras:
〪0 - 0 = 0
〪0 - 1 = 1
(com empréstimo de 1 da posição imediatamente
superior)
〪1 - 0 = 1
〪1 - 1 = 0
Subtração Binária
Qual o resultado das seguintes
subtrações em binário?
•
•
•
10012 - 01002
10002 - 12
101100012 - 010101012
Subtração Binária
*
1001 = 910
- 0100 = 410
0101 = 510
***
1000 = 810
- 0001 = 110
0111 = 710
* ***
10110001 = 17710
- 01010101 = 8510
01011100 = 9210
Multiplicação Binária
•
A multiplicação binária segue as mesmas
regras que a decimal. Temos assim:
〪0 * 0 = 0
〪0 * 1 = 0
〪1 * 0 = 0
〪1 * 1 = 1
Multiplicação Binária
•
É necessário proceder à multiplicação
parcial de cada um dos bits, começando
pelo bit menos significativo.
•
No fim somam-se todas as multiplicações
parciais, com base nas regras de soma
binária já mencionadas.
Multiplicação Binária
Qual o resultado das seguintes
multiplicações em binário?
•
•
•
10012 * 112
11012 * 10112
1001012 * 10012
Multiplicação Binária
1001 = 910
* 0011 = 310
1001
1001
0000
+ 0000
0011011 = 2710
1101 = 910
* 1011 = 310
11101
11101
110000
+01101
10001111 = 14310
Divisão Binária
•
A divisão binária funciona também de
modo semelhante à divisão decimal. O
método é o seguinte:
1.
Selecciona-se do dividendo o mesmo número de bits
que tem o divisor de entre os mais significativos;
2.
Tenta-se dividir esse número pelo divisor. Se o
número for maior que o divisor o primeiro bit do
quociente é 1 senão é 0 e é feita outra tentativa
usando outro dígito do dividendo.
Divisão Binária
3.
Quando a divisão for possível, é introduzido um 1 no
quociente e o divisor é subtraído à parte do
dividendo usada;
4.
O processo continua com o resultado desta subtração
até que todo o dividendo seja usado. Da mesma forma
que na divisão decimal podem ser acrescentados 0’s à
direita da vírgula do dividendo no caso de não se
obter o resto zero.
Divisão Binária
101
101 11010
-101
0011
- 000
110
- 101
001
Divisão Binária
B
A
101
101 11010 C
-101
0011
- 000
110
- 101
001
D
A: Divisor
B: Quociente
C: Dividendo
D: Resto
Divisão Binária
510
101
101 11010
-101
0011
- 000
110
- 101
001
510
2610
26 / 5 = 5
(resto 1)
110
Divisão Binária
Qual o resultado das seguintes divisões
em binário?
•
•
•
110112 / 1012
1000002 / 1002
10012 / 112
Divisão Binária
1000
100 100000
-100
000000
32 / 4 = 8
(resto 0)
011
11 1001
-011
0011
- 011
000
9/3=3
(resto 0)
Sistema Hexadecimal
Sistema Hexadecimal
Ou de base 16
•
No sistema decimal necessitamos de
muitos dígitos para representar números
relativamente pequenos, dificultando por
vezes a vida dos programadores.
•
Uma solução frequente é o uso de uma
numeração hexadecimal.
Sistema Hexadecimal
Ou de base 16
•
Como o nome indica, este sistema é
formado por 16 símbolos diferentes:
{0,1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}
•
As letras correspondem aos valores
decimais 10, 11, 12, 13, 14 e 15,
respectivamente.
Sistema Hexadecimal
Ou de base 16
•
Convém então ter sempre presente o
seguinte quadro:
Hex
A
B
C
D
E
F
Dec
10
11
12
13
14
15
Sistema Hexadecimal
Ou de base 16
•
Como nos sistemas de numeração
anteriormente estudados, qualquer número
do sistema hexadecimal pode ser
desenvolvido em potências da sua base, ou
seja, na base 16.
Conversão Entre
Hexadecimal e Decimal
Conversão
Hexadecimal - Decimal
•
Para converter um número hexadecimal
para o número decimal equivalente basta
multiplicar cada dígito pela potência de 16
relativa à posição por ele ocupada e somar
os resultados.
Conversão
Hexadecimal - Decimal
13C
Conversão
Hexadecimal - Decimal
13C
= 1x162 + 3x161 + 12x160
= 256 + 48 + 12
= 31610
Conversão
Hexadecimal - Decimal
A que correspondem no sistema decimal
os seguintes números hexadecimais?
•
•
•
1016
= 1x161 + 0x160 = 1610
1A16 = 1x161 + 10x160 = 2610
FCF16 = 15x162 + 12x161 + 15x160 = 404710
Conversão Entre
Decimal e Hexadecimal
Conversão
Decimal - Hexadecimal
•
Divide-se o número decimal sucessivamente
por 16 até o resultado ser menor que 16. Os
restos de cada operação formam o novo
número hexadecimal.
•
O valor do primeiro resto é o dígito menos
significativo.
•
O valor do último quociente é o dígito mais
significativo.
Conversão
Decimal - Hexadecimal
Menos
Significativo
41810 = 1A216
418 16
2
26
16
10 1
Mais
Significativo
10 = A
em hex!
Conversão
Decimal - Hexadecimal
A que correspondem no sistema
hexadecimal os seguintes números
decimais?
•
•
•
25510
32710
122110
Conversão
Decimal - Hexadecimal
327 16
1221 16
20
16
15 15
4
1
25510 = FF16
32710 = 14716
255 16
7
5
76
16
12 4
122110 = 4C516
Conversão Entre
Binário e Hexadecimal
Conversão
Binário - Hexadecimal
•
A conversão entre binário e hexadecimal é
bastante simples, tendo em conta que
conjuntos de 4 bits só podem ter valores
entre 0 e 15 (em decimal)
•
Começando no bit menos significativo fazemse “conjuntos” de 4 bits convertendo-se cada
um dos conjuntos para o correspondente
hexadecimal.
Conversão
Binário - Hexadecimal
10110111 10101 111101
1110
B716
710
110
510
1516
310
1310
3D16
Adição e Subtração de
Hexadecimais
Adição e Subtração
Hexadecimais
•
As operações no sistema hexadecimal seguem
as mesmas regras dos sistemas anteriormente
estudados.
•
Em qualquer sistema de numeração o ponto
fundamental a ter em conta é a base do
sistema, porque as regras são basicamente as
mesmas.
Adição e Subtração
Hexadecimais
+
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
0
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
1
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10
2
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10
11
3
3
4
5
6
7
8
9
A
B
C
D
E
F
10
11
12
4
4
5
6
7
8
9
A
B
C
D
E
F
10
11
12
13
5
5
6
7
8
9
A
B
C
D
E
F
10
11
12
13
14
6
6
7
8
9
A
B
C
D
E
F
10
11
12
13
14
15
7
7
8
9
A
B
C
D
E
F
10
11
12
13
14
15
16
8
8
9
A
B
C
D
E
F
10
11
12
13
14
15
16
17
9
9
A
B
C
D
E
F
10
11
12
13
14
15
16
17
18
A
A
B
C
D
E
F
10
11
12
13
14
15
16
17
18
19
B
B
C
D
E
F
10
11
12
13
14
15
16
17
18
19
1A
C
C
D
E
F
10
11
12
13
14
15
16
17
18
19
1A
1B
D
D
E
F
10
11
12
13
14
15
16
17
18
19
1A
1B
1C
E
E
F
10
11
12
13
14
15
16
17
18
19
1A
1B
1C
1D
F
F
10
11
12
13
14
15
16
17
18
19
1A
1B
1C
1D
1E
Adição e Subtração
Hexadecimais
Qual o resultado das seguintes
operações em hexadecimal?
•
•
•
•
1A16 + 3116
F8D316 + EA6116
ABC16 - 64216
4A3716 - 2C4B16
Adição e Subtração
Hexadecimais
1A = 2610
+ 31 = 4910
4B = 7510
11
F8D3 = 6369910
+ EA61 = 6000110
1E334 = 12370010
Adição e Subtração
Hexadecimais
ABC = 274810
- 642 = 160210
47A = 114610
***
4A37 = 1899910
- 2C4B = 1133910
1DEC = 766010
Outros Sistemas de
Numeração
Outros Sistemas de
Numeração
•
Como pudemos ver, as conversões e
cálculos seguem sempre regras muito
semelhantes independentemente do
sistema de numeração.
•
O importante é ter em consideração a
base do sistema que estamos a analisar.
Outros Sistemas de
Numeração
•
Um sistema bastante comum é o Sistema
Octal, que usa apenas os dígitos:
{0,1,2,3,4,5,6,7}
•
Sistemas que tenham base inferior a 10
apenas usam os algarismos a que estamos
habituados (do sistema decimal)
Outros Sistemas de
Numeração
Qual o valor decimal dos seguintes
números?
•
•
•
328
= 3x81 + 2x80 = 2610
1023 = 1x32 + 0x31 + 1x30 = 1010
43215 = 4x53 + 3x52 + 2x51 + 1x50 = 58610
Outros Sistemas de
Numeração
Qual o valor binário dos seguintes
números?
•
•
328
= 2610
43215 = 58610
Outros Sistemas de
Numeração
26 2
586
2
0
293
2
1
146
0 13 2
1 6
2
0 3
2
1 1
328 = 110102
43215 = 10010010102
2
0 73 2
1 36 2
0 18 2
0 9 2
1 4 2
0 2 2
0 1
Outros Sistemas de
Numeração
Qual o resultado das seguintes
operações no sistema octal?
•
•
45678 + 3218
67358 - 23438
Outros Sistemas de
Numeração
111
45678 = 242310
+ 03218 = 20910
51108 = 263210
*
67358 = 354910
- 23438 = 125110
43728 = 229810
Outros Sistemas de
Numeração
Qual o resultado da conversão dos
seguintes números decimais?
•
•
•
9910 em base 3
8910 em base 8
4710 em base 5
Outros Sistemas de
Numeração
99 3
89 8
0 33 3
1 11 8
0 11 3
2 3 3
0 1
9910 = 102003
3 1
8910 = 1318
47 5
2 9
5
4 1
4710 = 1415
Download

Sistemas de Numeração