representac¸ ao de dados e sistemas de numerac¸˜...
TRANSCRIPT
Representacao de Dados e Sistemas de Numeracao
• Sistema de numeração decimal e números decimais (base 10)
• Sistema de numeração binário e números binários (base 2)• Conversão entre binário e decimal
• Sistema de numeração hexadecimal e números hexadecimais (base 16)• Conversão entre hexadecimal e outras bases
• Números octais (base 8)
• Representação de números reais em binário
• Operações aritméticas com números binários:• Soma, subtração, multiplicação e divisão
• Complemento a 1 e complemento a 2 de números binários
• Números binários com sinal• Operações aritméticas com números binários com sinal
• Representação de dados alfanuméricos: códigos ASCII e Unicode
1
Sistema de Numeracao Decimal
• Forma de representação de números usada no dia-a-dia
• 10 algarismos: 0 a 9
• Números decimais: números na base 10• Notação: 64710
• Sistema posicional:• Posição de cada dígito em um número é associada a um peso• Valor do número: somatório dos dígitos multiplicados pelos pesos
• Pesos dos dígitos de números inteiros, da direita para esquerda:• Base 10⇒ Potências de 10:
... 104 103 102 101 100
... 10000 1000 100 10 1
2
Exemplos: Sistema de Numeracao Decimal
• 64710 = (6× 102) + (4× 101) + (7× 100)
= (6× 100) + (4× 10) + (7× 1)
= 600 + 40 + 7
• 1903910 =
3
Sistema de Numeracao Binario
• Forma de representação de nos usada em computadores e sistemas digitais
• 2 algarismos: 0 e 1
• Números binários: números na base 2• Notação: 10012
• Sistema posicional:• Posição de cada bit em um número é associada a um peso• Valor do número: somatório dos bits multiplicados pelos pesos
• Pesos dos bits de números inteiros, da direita para esquerda:• Base 2⇒ Potências de 2:
... 210 29 28 27 26 25 24 23 22 21 20
... 1024 512 256 128 64 32 16 8 4 2 1
4
Exemplos: Sistema de Numeracao Binario
• 10012 = (1× 23) + (0× 22) + (0× 21) + (1× 20)
= (1× 8) + (0× 4) + (0× 2) + (1× 1)
= 8 + 1
= 910
• 01001012 =
5
Contagem em Binario
Contagem de 0 a 3 Contagem de 0 a 7
Número Númerodecimal binário
0 0 01 0 12 1 03 1 1
Número Número
decimal binário
0 0 0 0
1 0 0 1
2 0 1 0
3 0 1 1
4 1 0 0
5 1 0 1
6 1 1 0
7 1 1 1• Com 2 bits:
• Representa 4 (22) valores diferentes: de 0 a 3 (22 − 1)
• Com 3 bits:• Representa valores diferentes: de 0 a
6
Contagem em Binario: de 0 a 15
Número decimal Número binário0 0 0 0 01 0 0 0 12 0 0 1 03 0 0 1 14 0 1 0 05 0 1 0 16 0 1 1 07 0 1 1 18 1 0 0 09 1 0 0 1
10 1 0 1 011 1 0 1 112 1 1 0 013 1 1 0 114 1 1 1 015 1 1 1 1
• Com 4 bits:• Representa valores diferentes: de 0 a
7
Contagem em Binario: de 0 a 15
Número decimal Número binário0 0 0 0 01 0 0 0 12 0 0 1 03 0 0 1 14 0 1 0 05 0 1 0 16 0 1 1 07 0 1 1 18 1 0 0 09 1 0 0 1
10 1 0 1 011 1 0 1 112 1 1 0 013 1 1 0 114 1 1 1 015 1 1 1 1
8
Sistema de Numeracao Binario
• Com n bits:• Representa 2n valores diferentes• Conta de 0 a 2n − 1
• Com n = 5 bits:• Representa 25 = 32 valores diferentes• Conta de 0 a 25 − 1 = 31
• Com n = 6 bits:• Representa valores diferentes• Conta de a
• Com n = 10 bits:• Representa valores diferentes• Conta de a
9
Exemplos: Conversao de Binario para Decimal
• 11011012
= (1× 26) + (1× 25) + (0× 24) + (1× 23) + (1× 22) + (0× 21) + (1× 20)
= (1× 64) + (1× 32) + (0× 16) + (1× 8) + (1× 4) + (0× 2) + (1× 1)
= 64 + 32 + 0 + 8 + 4 + 0 + 1
= 10910 1 1 0 1 1 0 1 2
bit mais bit menossignificativo significativo
• 1 0 0 1 0 0 0 12
10
Conversao de Decimal para Binario
• Método de sucessivas divisões por 2:• Divide número decimal por 2• Continuamente, divide quociente por 2, até chegar no quociente 0• Restos da divisão formam número binário
• 1o resto: bit menos significativo• Último resto: bit mais significativo
• Exemplo: 1210
12 / 2 = 6 resto 0 ⇐ bit menos significativo
6 / 2 = 3 resto 0
3 / 2 = 1 resto 1
1 / 2 = 0 resto 1 ⇐ bit mais significativo
1210 = 11002
11
Exemplos: Conversao de Decimal para Binario
4310 1910
12
Sistema de Numeracao Hexadecimal
• Forma compacta de representar números binários
• 16 símbolos: 0 a 9 e A a F (valendo de 10 a 15)
• Números hexadecimais: números na base 16• Notação: 1C16 ou 1Ch
• Sistema posicional:• Posição de cada dígito em um número é associada a um peso• Valor do número: somatório dos dígitos multiplicados pelos pesos
• Pesos dos dígitos de números inteiros, da direita para esquerda:• Base 16⇒ Potências de 16:
... 165 164 163 162 161 160
... ... ... 4096 256 16 1
13
Sistema de Numeracao Hexadecimal
• Exemplo:
1C16 = (1× 161) + (C × 160)
= (1× 16) + (C × 1)
= (1× 16) + (12× 1)
= 16 + 12
= 2810
14
Contagem em Hexadecimal: de 0 a 15
Número Número Númerodecimal binário hexadecimal
0 0 0 0 0 01 0 0 0 1 12 0 0 1 0 23 0 0 1 1 34 0 1 0 0 45 0 1 0 1 56 0 1 1 0 67 0 1 1 1 78 1 0 0 0 89 1 0 0 1 910 1 0 1 0 A11 1 0 1 1 B12 1 1 0 0 C13 1 1 0 1 D14 1 1 1 0 E15 1 1 1 1 F
15
Contagem em Hexadecimal
Base Base Base Base Base
10 16 10 16 10 16 10 16 10 16
0 0 16 10 32 20 160 A0 240 F0
1 1 17 11 33 21 161 A1 241 F1
2 2 18 12 34 22 162 A2 242 F2
3 3 19 13 35 23 163 A3 243 F3
4 4 20 14 36 24 164 A4 244 F4
5 5 21 15 37 25 165 A5 245 F5
6 6 22 16 38 26 166 A6 246 F6
7 7 23 17 39 27 ... 167 A7 ... 247 F7
8 8 24 18 40 28 168 A8 248 F8
9 9 25 19 41 29 169 A9 249 F9
10 A 26 1A 42 2A 170 AA 250 FA
11 B 27 1B 43 2B 171 AB 251 FB
12 C 28 1C 44 2C 172 AC 252 FC
13 D 29 1D 45 2D 173 AD 253 FD
14 E 30 1E 46 2E 174 AE 254 FE
15 F 31 1F 47 2F 175 AF 255 FF16
Conversao de Binario para Hexadecimal
• Cada dígito hexadecimal corresponde a 4 bits• 16 = 24
• Método:• Quebra número binário em grupos de 4 bits,
começando no bit menos significativo• Substitui cada grupo de 4 bits pelo símbolo hexadecimal correspondente
• Exemplos:
1100 1010 0101 01112 11 1111 0001 0110 10012
C A 5 716
17
Conversao de Hexadecimal para Binario
• Método inverso:• Substitui cada dígito hexadecimal pelo grupo de 4 bits correspondente
• Exemplo:
1 0 A 416
1 0000 1010 01002
• Exemplos:
C F 8 E16 9 7 4 A16
18
Conversao de Hexadecimal para Decimal
• 1o método:• Converter de hexadecimal para binário• Depois, converter de binário para decimal
• Exemplos:
1C16 = 0001 11002
= 24 + 23 + 22
= 16 + 8 + 4
= 2810
A 8 516 =
19
Conversao de Hexadecimal para Decimal
• 2o método:• Usar potências de 16
• Exemplo:
B2F816 = (B × 163) + (2× 162) + (F × 161) + (8× 160)
= (B × 4096) + (2× 256) + (F × 16) + (8× 1)
= (11× 4096) + (2× 256) + (15× 16) + (8× 1)
= 45056 + 512 + 240 + 8
= 4581610
20
Exemplo: Conversao de Hexadecimal para Decimal
• E516 =
21
Conversao de Decimal para Hexadecimal
• 1o método:• Converter de decimal para binário• Depois, converter de binário para hexadecimal
• Exemplo: 65010
650 / 2 = 325 resto 0
325 / 2 = 162 resto 1
162 / 2 = 81 resto 0
81 / 2 = 40 resto 1
40 / 2 = 20 resto 0
20 / 2 = 10 resto 0
10 / 2 = 5 resto 0
5 / 2 = 2 resto 1
2 / 2 = 1 resto 0
1 / 2 = 0 resto 1
10 1000 10102
2 8 A16
22
Conversao de Decimal para Hexadecimal
• 2o método:• Repetidas divisões por 16 até obter quociente 0• Restos formam número hexadecimal
• Exemplo: 65010
650 / 16 = 40 resto 10 ⇒ A ⇐ menos significativo
40 / 16 = 2 resto 8 ⇒ 8
2 / 16 = 0 resto 2 ⇒ 2 ⇐ mais significativo
65010 = 28A16
23
Sistema de Numeracao Octal
• 8 símbolos: 0 a 7
• Números octais: números na base 8• Notação: 23748
• Sistema posicional:• Posição de cada dígito em um número é associada a um peso• Valor do número: somatório dos dígitos multiplicados pelos pesos• Pesos dos dígitos de números inteiros, da direita para esquerda:
• Base 8⇒ Potências de 8:
... 84 83 82 81 80
... ... 512 64 8 1
• Exemplo: 23748 = (2× 83) + (3× 82) + (7× 81) + (4× 80)
= (2× 512) + (3× 64) + (7× 8) + (4× 1)
= 1024 + 192 + 56 + 4
= 12761024
Representacao de Numeros Reais na Base 10
• Sistema de numeração decimal:• Digitos à esquerda do ponto decimal: potências de 10 positivas• Digitos à direita do ponto decimal: potências de 10 negativas
... , ...
... 103 102 101 100 10−1 10−2 10−3 ...
... 1000 100 10 1 110
1100
11000 ...
... 1000 100 10 1 0, 1 0, 01 0, 001 ...
25
Exemplo: Representacao de Numeros Reais na Base 10
• 243, 7510
= (2× 102) + (4× 101) + (3× 100) + (7× 10−1) + (5× 10−2)
= (2× 100) + (4× 10) + (3× 1) + (7× 0, 1) + (5× 0, 01)
= 200 + 40 + 3 + 0, 7 + 0, 05
= 243, 75
26
Representacao de Numeros Reais na Base 2
• Sistema de numeração binário:• Bits à esquerda do ponto binário: potências de 2 positivas• Bits à direita do ponto binário: por potências de 2 negativas
... , ...
... 23 22 21 20 2−1 2−2 2−3 ...
... 8 4 2 1 12
14
18 ...
... 8 4 2 1 0, 5 0, 25 0, 125 ...
27
Exemplos: Representacao de Numeros Reais na Base 2
• 1010, 112 = (1× 23) + (1× 21) + (1× 2−1) + (1× 2−2)
= (1× 8) + (1× 2) + (1× 0, 5) + (1× 0, 25)
= 8 + 2 + 0, 5 + 0, 25
= 10, 7510
• Conversão de números reais de binário para decimal
• 11, 0112 =
28
Conversao de Numeros Reais de Decimal para Binario
• Método de sucessivas multiplicações por 2:• Multiplica parte fracionária do número por 2• Continuamente, multiplica parte fracionária do resultado por 2,
até chegar no resultado 1 (parte fracionária com zeros) ou quando o númerodesejado de casas decimais for alcançado
• Parte inteira dos resultados formam número binário• 1o resultado: bit mais significativo• Último resultado: bit menos significativo
• Exemplo: 4, 312510 = 100.01012• Parte inteira: 410 = 1002
• Parte fracionária: 0, 312510 = 0.01012
0, 3125 × 2 = 0, 625 parte inteira 0 ⇐ bit mais significativo0, 625 × 2 = 1, 25 parte inteira 1
0, 25 × 2 = 0, 5 parte inteira 0
0, 5 × 2 = 1 parte inteira 1 ⇐ bit menos significativo29
Exemplo: Conversao de Numeros Reais de Decimal para Binario
• 3, 687510 =
30