Representac¸ ao de Dados e Sistemas de Numerac¸˜ ao˜

34
Representac ¸˜ ao de Dados e Sistemas de Numerac ¸˜ ao 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

Transcript of Representac¸ ao de Dados e Sistemas de Numerac¸˜ ao˜

Page 1: Representac¸ ao de Dados e Sistemas de Numerac¸˜ ao˜

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

Page 2: Representac¸ ao de Dados e Sistemas de Numerac¸˜ ao˜

Numeros Binarios com Sinal

• Número com sinal:• Pode ser positivo ou negativo

• Formas de representação de números binários com sinal:• Sinal-magnitude• Complemento a 1• Complemento a 2 ⇐= preferível

2

Page 3: Representac¸ ao de Dados e Sistemas de Numerac¸˜ ao˜

Sinal-magnitude

• Representação:• Bit mais a esquerda: bit de sinal

• Representa se número é positivo ou negativo:• Bit de sinal 0⇒ positivo• Bit de sinal 1⇒ negativo

• Demais bits: representam valor absoluto do número (magnitude)

• Exemplo: Números de 8 bits

• 2510 = 0 0 0 1 1 0 0 12

↑ ↖bit de sinal magnitude

↓ ↙• –2510 = 1 0 0 1 1 0 0 12

• Observação:• Sinal e magnitude representados separados⇒

Não adequado para realização de operações aritméticas

3

Page 4: Representac¸ ao de Dados e Sistemas de Numerac¸˜ ao˜

Complemento a 1

• Representação:• Número negativo:

• Representado pelo complemento a 1 do número positivo correspondente• Bit mais a esquerda: bit de sinal

• Exemplo: Números de 8 bits

• 2510 = 0 0 0 1 1 0 0 12

↑bit de sinal

↓• –2510 = 1 1 1 0 0 1 1 02 ⇐= complemento a 1 de 2510

• Observações:• Sinal e magnitude não são representados separados• 2 representações para 010: 00000000 e 11111111 ⇒

Não adequado para realização de operações aritméticas

4

Page 5: Representac¸ ao de Dados e Sistemas de Numerac¸˜ ao˜

Complemento a 2• Representação:

• Número negativo:• Representado pelo complemento a 2 do número positivo correspondente

• Bit mais a esquerda: bit de sinal

• Exemplo: Números de 8 bits

• 2510 = 0 0 0 1 1 0 0 12

↑bit de sinal

↓• –2510 = 1 1 1 0 0 1 1 12 ⇐= complemento a 2 de 2510

• Observações:• Sinal e magnitude não são representados separados• Adequado para realização de operações aritméticas⇒

Forma utilizada nos computadores• Complemento a 2 de um número A de n bits = 2n −A

• complemento2( complemento2(A) ) = A5

Page 6: Representac¸ ao de Dados e Sistemas de Numerac¸˜ ao˜

Exemplo: Complemento a 2

• Número de 4 bits:

010 = 00002

Complemento a 2 de 00002 =

+110 = 00012

Complemento a 2 de 00012 =

–110 = 11112

Complemento a 2 de 11112 =

6

Page 7: Representac¸ ao de Dados e Sistemas de Numerac¸˜ ao˜

Contagem em Binario sem e com Sinal: Numeros de 2 bits

DecimalBinário

DecimalBinário

sem sinal com sinal

0 0 0 –2 1 0

1 0 1 –1 1 1

2 1 0 0 0 0

3 1 1 +1 0 1

7

Page 8: Representac¸ ao de Dados e Sistemas de Numerac¸˜ ao˜

Contagem em Binario sem e com Sinal: Numeros de 3 bits

Decimal Binário sem sinal Decimal Binário com sinal0 0 0 0 –4 1 0 01 0 0 1 –3 1 0 12 0 1 0 –2 1 1 03 0 1 1 –1 1 1 14 1 0 0 0 0 0 05 1 0 1 +1 0 0 16 1 1 0 +2 0 1 07 1 1 1 +3 0 1 1

8

Page 9: Representac¸ ao de Dados e Sistemas de Numerac¸˜ ao˜

Contagem em Binario sem e com Sinal: Numeros de 4 bits

Decimal Binário sem sinal Decimal Binário com sinal0 0 0 0 0 –8 1 0 0 01 0 0 0 1 –7 1 0 0 12 0 0 1 0 –6 1 0 1 03 0 0 1 1 –5 1 0 1 14 0 1 0 0 –4 1 1 0 05 0 1 0 1 –3 1 1 0 16 0 1 1 0 –2 1 1 1 07 0 1 1 1 –1 1 1 1 18 1 0 0 0 0 0 0 0 09 1 0 0 1 +1 0 0 0 1

10 1 0 1 0 +2 0 0 1 011 1 0 1 1 +3 0 0 1 112 1 1 0 0 +4 0 1 0 013 1 1 0 1 +5 0 1 0 114 1 1 1 0 +6 0 1 1 015 1 1 1 1 +7 0 1 1 1

9

Page 10: Representac¸ ao de Dados e Sistemas de Numerac¸˜ ao˜

Contagem em Binario sem e com Sinal: Numeros de 4 bits

10

Page 11: Representac¸ ao de Dados e Sistemas de Numerac¸˜ ao˜

Sistema de Numeracao Binario

• Exemplo: Com 4 bits• Representa 24 = 16 valores diferentes• Números sem sinal: 0 a 15• Números com sinal: –8 a +7

• Com n bits:• Representa 2n valores diferentes• Números sem sinal: 0 a 2n − 1

• Números com sinal: −(2n−1) a +(2n−1 − 1)

• Exemplo: Com n = 5 bits• Representa valores diferentes• Números sem sinal: a• Números com sinal: a

11

Page 12: Representac¸ ao de Dados e Sistemas de Numerac¸˜ ao˜

Conversao de Numero Binario com Sinal para Decimal

• Bit de sinal tem peso negativo

• Exemplos: Números de 8 bits

0 1 0 1 0 1 1 02 =

= (0× (−27)) + (1× 26) + (1× 24) + (1× 22) + (1× 21)

= (0× (−128)) + (1× 64) + (1× 16) + (1× 4) + (1× 2)

= 0 + 64 + 16 + 4 + 2 = +8610

1 0 1 0 1 0 1 02 =

= (1× (−27)) + (0× 26) + (1× 25) + (1× 23) + (1× 21)

= (1× (−128)) + (1× 32) + (1× 8) + (1× 2)

= −128 + 32 + 8 + 2 = −8610

12

Page 13: Representac¸ ao de Dados e Sistemas de Numerac¸˜ ao˜

Conversao de Numero Binario com Sinal para Decimal

• Exemplo: Números de 8 bits

1 1 0 1 0 1 1 12

13

Page 14: Representac¸ ao de Dados e Sistemas de Numerac¸˜ ao˜

Operacoes Aritmeticas com Numeros Binarios com Sinal

• Números binários com sinal:• Representados com complemento a 2⇒

Adequado para realização de operações aritméticas

• Operações aritméticas de números binários com sinal:• Adição:

• Realizada da mesma forma que adição de números sem sinal• Subtração:

• Realizada através da adição de números com sinal

14

Page 15: Representac¸ ao de Dados e Sistemas de Numerac¸˜ ao˜

Adicao de Numeros Binarios com Sinal

• Realizada da mesma forma que adição de números sem sinal

• Exemplo: Números de 8 bits

• Caso 1: Ambas parcelas positivas⇒ Soma positiva

10 0 0 0 0 1 1 1 7

+ 0 0 0 0 0 1 0 0 + 4

0 0 0 0 1 0 1 1 1 1

15

Page 16: Representac¸ ao de Dados e Sistemas de Numerac¸˜ ao˜

Adicao de Numeros Binarios com Sinal

• Exemplo: Números de 8 bits

• Caso 2: Parcela positiva com valor absoluto maior que parcela negativa⇒ Soma positiva

1 1 1 1 1 1 10 0 0 0 1 1 1 1 1 5

+ 1 1 1 1 1 0 1 0 + – 6

0 0 0 0 1 0 0 1 9

Descarta carry mais a esquerda

16

Page 17: Representac¸ ao de Dados e Sistemas de Numerac¸˜ ao˜

Adicao de Numeros Binarios com Sinal

• Exemplo: Números de 8 bits

• Caso 3: Parcela negativa com valor absoluto maior que parcela positiva⇒ Soma negativa

0 0 0 1 0 0 0 0 1 6+ 1 1 1 0 1 0 0 0 + – 2 4

1 1 1 1 1 0 0 0 – 8

17

Page 18: Representac¸ ao de Dados e Sistemas de Numerac¸˜ ao˜

Adicao de Numeros Binarios com Sinal

• Exemplo: Números de 8 bits

• Caso 4: Ambas parcelas negativas⇒ Soma negativa

1 1 1 1 1 1 1 11 1 1 1 1 0 1 1 – 5

+ 1 1 1 1 0 1 1 1 + – 9

1 1 1 1 0 0 1 0 – 1 4

Descarta carry mais a esquerda

18

Page 19: Representac¸ ao de Dados e Sistemas de Numerac¸˜ ao˜

Adicao de Numeros Binarios com Sinal

• Exemplo: Números de 8 bits

(+12) + (+15) =

19

Page 20: Representac¸ ao de Dados e Sistemas de Numerac¸˜ ao˜

Adicao de Numeros Binarios com Sinal

• Exemplo: Números de 8 bits

(+12) + (–9) =

20

Page 21: Representac¸ ao de Dados e Sistemas de Numerac¸˜ ao˜

Adicao de Numeros Binarios com Sinal

• Exemplo: Números de 8 bits

(–25) + (+19) =

21

Page 22: Representac¸ ao de Dados e Sistemas de Numerac¸˜ ao˜

Adicao de Numeros Binarios com Sinal

• Exemplo: Números de 8 bits

(–25) + (–19) =

22

Page 23: Representac¸ ao de Dados e Sistemas de Numerac¸˜ ao˜

Adicao de Numeros Binarios com Sinal

• Overflow (transbordo):• Ocorre quando resultado da operação aritmética

não pode ser representado nos bits da palavra

• Atenção: Overflow 6= Carry no bit mais significativo

• Na adição, overflow ocorre quando:• Ambas parcelas positivas e soma fica negativa• Ambas parcelas negativas e soma fica positiva

• Exemplo: Números de 4 bits com sinal

1 10 1 1 0 6

+ 0 0 1 1 + 3

1 0 0 1 ⇐= –7 923

Page 24: Representac¸ ao de Dados e Sistemas de Numerac¸˜ ao˜

Subtracao de Numeros Binarios com Sinal

• Exemplo:• (+9) – (+6) = (+9) + (–6)

• Ideia:• Realizar subtração através da adição• Obtém complemento a 2 do segundo operando e soma

• Exemplo: Números de 8 bits

(+8) – (+3) = (+8) + (–3) = 5

0 0 0 0 0 0 1 1 = +3

1 1 1 1 1 1 0 0+ 1

1 1 1 1 1 1 0 1 = –3

1 1 1 1 10 0 0 0 1 0 0 0

+ 1 1 1 1 1 1 0 1

0 0 0 0 0 1 0 1

Descarta carry mais a esquerda

24

Page 25: Representac¸ ao de Dados e Sistemas de Numerac¸˜ ao˜

Subtracao de Numeros Binarios com Sinal

• Exemplo: Números de 8 bits

(+12) – (–9) =

25

Page 26: Representac¸ ao de Dados e Sistemas de Numerac¸˜ ao˜

Subtracao de Numeros Binarios com Sinal

• Exemplo: Números de 8 bits

(–25) – (+19) =

26

Page 27: Representac¸ ao de Dados e Sistemas de Numerac¸˜ ao˜

Subtracao de Numeros Binarios com Sinal

• Exemplo: Números de 8 bits

(–120) – (–30) =

27

Page 28: Representac¸ ao de Dados e Sistemas de Numerac¸˜ ao˜

Representacao de Dados Alfanumericos

• Código alfanumérico:• Usado para representar:

• Números• Letras• Símbolos• Comandos• ...

• Códigos alfanuméricos usados nos computadores:• Código ASCII e extensões• Código Unicode• ...

28

Page 29: Representac¸ ao de Dados e Sistemas de Numerac¸˜ ao˜

Codigo ASCII

• ASCII: American Standard Code for Information Interchange

• Esquema de codificação de caracteres

• Baseado na ordem das letras do alfabeto inglês

• Usado para representar texto em:• Computadores• Equipamentos de comunicação• ...

• Cada caracter representado com 7 bits:• 27 = 128 possíveis valores• Em geral, usa 1 byte (8 bits)

• Maioria dos esquemas de codificação de caracteres mais modernos:• Baseados no ASCII• Representam mais caracteres que o ASCII

29

Page 30: Representac¸ ao de Dados e Sistemas de Numerac¸˜ ao˜

Codigo ASCII – Caracteres de Controle

ValorNome Significado

ValorNome Significado

decimal decimal00 NUL Null 16 DLE Data Link Escape01 SOH Start of Header 17 DC1 Device Control 102 STX Start of Text 18 DC2 Device Control 203 ETX End of Text 19 DC3 Device Control 304 EOT End of Transmition 20 DC4 Device Control 405 ENQ Enquire 21 NAK Negative Acknowledgment06 ACK Acknowledgment 22 SYN Synchronous Idle07 BEL Bell 23 ETB End of Transmission Block08 BS Backspace 24 CAN Cancel09 HT Horizontal Tab 25 EM End of Medium10 LF Line Feed 26 SUB Substitute11 VT Vertical Tab 27 ESC Escape12 FF Form Feed 28 FS File Separator13 CR Carriage Return 29 GS Group Separator14 SO Shift Out 30 RS Record Separator15 SI Shift In 31 US Unit Separator

30

Page 31: Representac¸ ao de Dados e Sistemas de Numerac¸˜ ao˜

Codigo ASCII – Sımbolos GraficosVa

lor

deci

mal

Sím

bolo

Valo

rde

cim

alS

ímbo

lo

Valo

rde

cim

alS

ímbo

lo

Valo

rde

cim

alS

ímbo

lo

Valo

rde

cim

alS

ímbo

lo

Valo

rde

cim

alS

ímbo

lo

32 space 48 0 64 @ 80 P 96 ‘ 112 p33 ! 49 1 65 A 81 Q 97 a 113 q34 " 50 2 66 B 82 R 98 b 114 r35 # 51 3 67 C 83 S 99 c 115 s36 $ 52 4 68 D 84 T 100 d 116 t37 % 53 5 69 E 85 U 101 e 117 u38 & 54 6 70 F 86 V 102 f 118 v39 ’ 55 7 71 G 87 W 103 g 119 w40 ( 56 8 72 H 88 X 104 h 120 x41 ) 57 9 73 I 89 Y 105 i 121 y42 * 58 : 74 J 90 Z 106 j 122 z43 + 59 ; 75 K 91 [ 107 k 123 {44 , 60 < 76 L 92 \ 108 l 124 |45 - 61 = 77 M 93 ] 109 m 125 }46 . 62 > 78 N 94 ˆ 110 n 126 ˜

47 / 63 ? 79 O 95 _ 111 o 127 Del

31

Page 32: Representac¸ ao de Dados e Sistemas de Numerac¸˜ ao˜

Exemplo: Codigo ASCII

• Texto:

Digite a senha:

• Representação em ASCII:

68 105 103 105 116 101 32 97 32 115 101 110 104 97 58

32

Page 33: Representac¸ ao de Dados e Sistemas de Numerac¸˜ ao˜

Extensoes do Codigo ASCII

• Esquemas de codificação de caracteres

• Baseados no código ASCII

• Cada caracter representado com 8 bits:• 28 = 256 possíveis valores

• Codificação:• Inclui 128 caracteres ASCII• Possui outros 128 caracteres usados para representar:

• Letras de outros idiomas• Símbolos de moedas• Letras gregas• Símbolos matemáticos• ...

• Exemplo: Codificação ISO-8859-1

33

Page 34: Representac¸ ao de Dados e Sistemas de Numerac¸˜ ao˜

Codigo Unicode

• Padrão de representação de caracteres

• Pode ser implementado por diferentes esquemas de codificação de caracteres

• Representa:• Alfabetos de diferentes idiomas• Suporte para línguas escritas em direções diferentes

• Cada caracter representado com 1 a 4 bytes

• Inclui 128 caracteres ASCII

34