sistemas de numeração. a informação e sua representação os computadores manipulam dados...

49
Sistemas de Numeração

Upload: internet

Post on 17-Apr-2015

112 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sistemas de Numeração. A Informação e sua Representação Os computadores manipulam dados (sinais brutos e sem significado individual) para produzir informações

Sistemas de Numeração

Page 2: Sistemas de Numeração. A Informação e sua Representação Os computadores manipulam dados (sinais brutos e sem significado individual) para produzir informações

A Informação e sua Representação Os computadores manipulam dados (sinais brutos e

sem significado individual) para produzir informações.

A conversão de dados em informações, e estas novamente em dados, é uma parte tão fundamental em relação ao que os computadores fazem que é preciso saber como a conversão ocorre para compreender como o computador funciona.

Infelizmente os computadores não usam nosso sistema de numeração.

2

Page 3: Sistemas de Numeração. A Informação e sua Representação Os computadores manipulam dados (sinais brutos e sem significado individual) para produzir informações

Sistema de Numeração

Conjunto de símbolos utilizados para representação de quantidades e de regras que definem a forma de representação.

Cada sistema de numeração é apenas um método diferente de representar quantidades. As quantidades em si não mudam; mudam apenas os símbolos usados para representá-las.

A quantidade de algarismos disponíveis em um dado sistema de numeração é chamada de base.

Representação numérica mais empregada: notação posicional.

3

A Informação e sua Representação

Page 4: Sistemas de Numeração. A Informação e sua Representação Os computadores manipulam dados (sinais brutos e sem significado individual) para produzir informações

Notação Posicional

Valor atribuído a um símbolo dependente da posição em que ele se encontra no conjunto de símbolos que representa uma quantidade.

O valor total do número é a soma dos valores relativos de cada algarismo (decimal).

4

Sistema de numeração decimal

735 573

700 30 5 500 70 3

A Informação e sua Representação

Page 5: Sistemas de Numeração. A Informação e sua Representação Os computadores manipulam dados (sinais brutos e sem significado individual) para produzir informações

Sistemas de Numeração Bases

Binária 0, 1

Octal 0, 1, 2, 3, 4, 5, 6, 7

Decimal 0, 1, 2, 3, 4, 5, 6, 7, 8, 9

Hexadecimal 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F

5

Page 6: Sistemas de Numeração. A Informação e sua Representação Os computadores manipulam dados (sinais brutos e sem significado individual) para produzir informações

Sistemas de Numeração Representação nas bases – Base decimal

7484 7484 = 7 x 1000 + 4 x 100 + 8 x 10 + 4 7484 = 7 X 103 + 4 X 102 + 8 X 101 + 4 X 100

Representação em polinômio genérico Número = dn10n + dn-110n-1 + ... d1101 + d0100

6

Page 7: Sistemas de Numeração. A Informação e sua Representação Os computadores manipulam dados (sinais brutos e sem significado individual) para produzir informações

Sistemas de Numeração Mudança da base binária para decimal (10)

10110010102

0 x 20 = 0 1 x 21 = 2 0 x 22 = 0 1 x 23 = 8 0 x 24 = 0 0 x 25 = 0 1 x 26 = 64 1 x 27 = 128 0 x 28 = 0 1 x 29 = 512

7

= 0+2+0+8+0+0+64+128+0+512 = 714

Page 8: Sistemas de Numeração. A Informação e sua Representação Os computadores manipulam dados (sinais brutos e sem significado individual) para produzir informações

Sistemas de Numeração Representação de hexadecimal na base 10

3974116

3974116 = 3 x 164 + 9 x 163 + 7 x 162 + 4 x 161 +

1 x 160

3974116 = 196608 + 36864 + 1792 + 64 + 1 3974116 = 23532910

Representação em polinômio genérico Número = hn16n + hn-116n-1 + ... h1161 + h0160

8

Page 9: Sistemas de Numeração. A Informação e sua Representação Os computadores manipulam dados (sinais brutos e sem significado individual) para produzir informações

Sistemas de Numeração Mudança da base hexadecimal para decimal

2CA16

A x 160 = 10 x 160 = 10 C x 161 = 12 x 161 =

192 2 x 162 = 512

9

= 10+192+512 = 714

Page 10: Sistemas de Numeração. A Informação e sua Representação Os computadores manipulam dados (sinais brutos e sem significado individual) para produzir informações

Sistemas de Numeração Representação de octal na base 10

546218

546218 = 5 x 84 + 4 x 83 + 6 x 82 + 2 x 81 +

1 x 80

546218 = 20480 + 2048 + 384 + 16 + 1 546218 = 2292910

Representação em polinômio genérico Número = on8n + on-18n-1 + ... o181 + o080

10

Page 11: Sistemas de Numeração. A Informação e sua Representação Os computadores manipulam dados (sinais brutos e sem significado individual) para produzir informações

Sistemas de Numeração Mudança da base octal para decimal (10)

13128

2 x 80 = 2 1 x 81 = 8 3 x 82 = 192 1 x 83 = 512

11

= 2+8+192+512 = 714

Page 12: Sistemas de Numeração. A Informação e sua Representação Os computadores manipulam dados (sinais brutos e sem significado individual) para produzir informações

Sistemas de Numeração Mudança da base 10 para binário

714714 |_2_ 0 357 |_2_ 1 178 |_2_ 0 89 |_2_ 1 44 |_2_ 0 22 |_2_ 0 11 |_2_ 1 5 |_2_ 1 2 |_2_ 0 1

12

Page 13: Sistemas de Numeração. A Informação e sua Representação Os computadores manipulam dados (sinais brutos e sem significado individual) para produzir informações

Sistemas de Numeração Mudança da base 10 para binário

714 714 |_2_ 0 357 |_2_ 1 178 |_2_ 0 89 |_2_ 1 44 |_2_ 0 22 |_2_ 0 11 |_2_ 1 5 |_2_ 1 2 |_2_ 0 1

13

714 = 10110010102

Page 14: Sistemas de Numeração. A Informação e sua Representação Os computadores manipulam dados (sinais brutos e sem significado individual) para produzir informações

Sistemas de Numeração Mudança da base 10 para octal

714

714 |_8_ 2 89 |_8_ 1 11 |_8_ 3 1

14

714 = 13128

Page 15: Sistemas de Numeração. A Informação e sua Representação Os computadores manipulam dados (sinais brutos e sem significado individual) para produzir informações

Sistemas de Numeração Mudança da base 10 para hexadecimal

714

714 |_16_ 10 44 |_16_ 12 2

15

714 = 2CA16

Hexadecimal

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F

A=10 , B=11 , C=12 , D=13 , E=14 , F=15

Page 16: Sistemas de Numeração. A Informação e sua Representação Os computadores manipulam dados (sinais brutos e sem significado individual) para produzir informações

Sistemas de Numeração Bit – menor partícula de informação no

computador, pode representar 0 ou 1. Esses dois símbolos são opostos e

mutuamente exclusivos. Byte – conjunto de 8 bits. Base Binária.

16

Page 17: Sistemas de Numeração. A Informação e sua Representação Os computadores manipulam dados (sinais brutos e sem significado individual) para produzir informações

Conversões de números fracionários Do mesmo modo que os números inteiros

podem ser convertidos de diferentes bases, os números fracionários também podem ser convertidos usando notação posicional.

Exemplo - 10,510

10,510 = 1 x 101 + 0 x 100 + 5 x 10-1

17

Page 18: Sistemas de Numeração. A Informação e sua Representação Os computadores manipulam dados (sinais brutos e sem significado individual) para produzir informações

Conversões de números fracionários Podemos utilizar a mesma regra para

converter números binários fracionários para decimal.

Exemplo: 101,1012

101,1012 = 1 x 22 + 0 x 21 + 1 x 20 + 1 x 2-1 + 0 x 2-2

+ 1 x 2-3

= 4 + 0 + 1 + 0,5 + 0 + 0,125 = 5,625 10

18

Page 19: Sistemas de Numeração. A Informação e sua Representação Os computadores manipulam dados (sinais brutos e sem significado individual) para produzir informações

Conversões de números fracionários Podemos também converter números decimais

fracionários para binários através da regra prática a seguir.

Exemplo: converter 8,375 10 = ? 2

1°- Converter a parte inteira do número para binário:Resultado: 8 10 = 1000 2

8 20 4 2 0 2 2 0 1

19

Page 20: Sistemas de Numeração. A Informação e sua Representação Os computadores manipulam dados (sinais brutos e sem significado individual) para produzir informações

Conversões de números fracionários 2°- Multiplicar a parte fracionária do número

por 2, separando a parte inteira e repetindo o processo até que seja ZERO, ou seja:

8,375 10 → parte fracionária → 0,375 10

0,375 x 2 = 0,7500,750 x 2 = 1,5000,500 x 2 = 1,0000,000 →ZERO

Resultado: 0,375 10 = 011 2

20

Page 21: Sistemas de Numeração. A Informação e sua Representação Os computadores manipulam dados (sinais brutos e sem significado individual) para produzir informações

Conversões de números fracionários 3°- Juntar a parte inteira e fracionária num

único número binário: Resultado final:

8,375 10 = 1000,011 2

21

Page 22: Sistemas de Numeração. A Informação e sua Representação Os computadores manipulam dados (sinais brutos e sem significado individual) para produzir informações

Bits podem representar qualquer coisa! 26 letras => 5 bits maisc./minusc. + pontuação

7 bits (em 8) (“ascii”)

Código padrão para atender todas as linguagens do mundo 16 bits (unicode)

Valores lógicos 0 -> Falso, 1 => Verdadeiro

Representações

22

Page 23: Sistemas de Numeração. A Informação e sua Representação Os computadores manipulam dados (sinais brutos e sem significado individual) para produzir informações

Tabela Ascii

23

Page 24: Sistemas de Numeração. A Informação e sua Representação Os computadores manipulam dados (sinais brutos e sem significado individual) para produzir informações

Representação de Números Um programa (a seqüência de instruções) deverá manipular

diferentes tipos de dados: Inteiros (ponto fixo) Reais (ponto flutuante)

O tipo de dado que está sendo fornecido ao programa deverá ser informado pelo programador, através de declarações, fazendo com que o programa interprete o dado fornecido de acordo com a declaração.

Por exemplo, na linguagem C, declarações tipo int num; ou float sal;

indicam que a variável num é um número inteiro (int) e a variável sal é um número real (float), representação científica, isto é, representado na forma [(Sinal) Valor x Base (elevada a Expoente)].

24

Page 25: Sistemas de Numeração. A Informação e sua Representação Os computadores manipulam dados (sinais brutos e sem significado individual) para produzir informações

Representação de Números

Forma intuitiva - conversão do número decimal para seu correspondente em binário.

Problema - os números podem ser positivos ou negativos - definir como representar o sinal.

Representação - utilização de mais um bit na representação (o bit mais representativo), representando o sinal, com a seguinte convenção:

bit 0 ==> sinal positivo bit 1 ==> sinal negativo.

25

Page 26: Sistemas de Numeração. A Informação e sua Representação Os computadores manipulam dados (sinais brutos e sem significado individual) para produzir informações

Bit de Sinal Uma forma de representar números binários

positivos e negativos é feita através de um bit de sinal, que fica mais a esquerda do número (MSB – bit mais significativo).

Como já dito, se o bit de sinal for “0”, o número binário é positivo (+) e o bit de sinal for “1”, o número binário é negativo.

Resto dos bits podem ser valores significativos do número.

26

Page 27: Sistemas de Numeração. A Informação e sua Representação Os computadores manipulam dados (sinais brutos e sem significado individual) para produzir informações

Como representá-los? Destinar metade dos padrões binários para nº negativos e

a outra para os positivos. Teremos 2 metades iguais: ... / +2, -2 / +1, -1 / +0, -0 2 binários deferentes para representar o nº 0.

Números Negativos

27

Page 28: Sistemas de Numeração. A Informação e sua Representação Os computadores manipulam dados (sinais brutos e sem significado individual) para produzir informações

Representação em sinal e magnitude Valor decimal Valor binário com 8 bits (7 + bit de

sinal)

+9 00001001 (bit inicial 0 significa positivo)

-9 10001001 (bit inicial 1 significa negativo)

+127 01111111 (bit inicial 0 significa positivo)

-127 11111111 (bit inicial 1 significa negativo)

Assim, uma representação em binário com n bits teria disponíveis para a representação do número n-1 bits (o bit mais significativo representa o sinal). Essa representação tem o nome de representação em sinal e magnitude.

28

Page 29: Sistemas de Numeração. A Informação e sua Representação Os computadores manipulam dados (sinais brutos e sem significado individual) para produzir informações

Representação em sinal e magnitude A magnitude (isto é, o valor absoluto, que

independe de sinal) de um número é representada em binário. O sinal é representado por um bit (o bit mais significativo, isto é, o bit mais à esquerda na representação).

O valor dos bits usados para representar a magnitude independe do sinal, isto é, sendo o número positivo ou negativo, a representação binária da magnitude será a mesma, o que varia é apenas o bit de sinal.

Ex.: 0011 = +3 1011 = -3(011 equivale ao valor absoluto 3)

29

Page 30: Sistemas de Numeração. A Informação e sua Representação Os computadores manipulam dados (sinais brutos e sem significado individual) para produzir informações

Representação em sinal e magnitude

ARITMÉTICA EM SINAL E MAGNITUDE

Algoritmo da soma:

a) verificar o sinal das parcelasb) se os sinais forem iguais:

repetir o sinalsomar as magnitudes

c) se os sinais forem diferentesverificar qual parcela tem maior magnituderepetir o sinal da maior magnitudesubtrair a menor magnitude da maior magnitude

30

Page 31: Sistemas de Numeração. A Informação e sua Representação Os computadores manipulam dados (sinais brutos e sem significado individual) para produzir informações

Representação em sinal e magnitude

ARITMÉTICA EM SINAL E MAGNITUDE Algoritmo da subtração:

O algoritmo da subtração é o mesmo da soma, sendo feita como se fosse uma soma de dois números que tem os sinais diferentes.

31

Page 32: Sistemas de Numeração. A Informação e sua Representação Os computadores manipulam dados (sinais brutos e sem significado individual) para produzir informações

Representação em sinal e magnitude

A representação em sinal e magnitude apresenta uma grande desvantagem: ela exige um grande número de testes para se realizar uma simples soma de dois números inteiros.

O algoritmo é complicado de ser realizado no computador, o que resulta em baixa eficiência (execução lenta).

Um outro ponto negativo é termos duas representações para o zero.

32

Page 33: Sistemas de Numeração. A Informação e sua Representação Os computadores manipulam dados (sinais brutos e sem significado individual) para produzir informações

Representação em sinal e magnitude

Devido à complexidade dos algoritmos para os computadores operarem com NÚMEROS NEGATIVOS quando se usa a representação em sinal e, são comumente adotadas outras formas que facilitam e tornam mais eficiente a manipulação de operações aritméticas em computadores: as representações em complemento.

33

Page 34: Sistemas de Numeração. A Informação e sua Representação Os computadores manipulam dados (sinais brutos e sem significado individual) para produzir informações

Representação em Complemento

A grande vantagem da utilização da representação em complemento é que a subtração entre dois números pode ser substituída pela sua soma em complemento.

34

Page 35: Sistemas de Numeração. A Informação e sua Representação Os computadores manipulam dados (sinais brutos e sem significado individual) para produzir informações

Complemento a 2

Por questões de convenção e eficiência

aritmética, utiliza-se a notação de complemento a

2 para se trabalhar com números binários no

computador

Utilizando esta notação, a subtração é uma soma.

Por exemplo: 7 – 5 seria 7 + (-5)

Embora seja uma alteração sutil, faz uma enorme

diferença para o computador

35

Page 36: Sistemas de Numeração. A Informação e sua Representação Os computadores manipulam dados (sinais brutos e sem significado individual) para produzir informações

Complemento a 2: forma de representação Garante que a soma de um número com seu

complemento seja sempre 0 Método:

Inverter cada 0 para 1 e cada 1 para 0 somar 1 ao resultado

Exemplos: 2 para -2 2 = 0000 0000 0000 0010

1111 1111 1111 1101 (invertido)

0000 0000 0000 0001 (+1)

1111 1111 1111 1110 (-2)

Complemento a 2

36

Page 37: Sistemas de Numeração. A Informação e sua Representação Os computadores manipulam dados (sinais brutos e sem significado individual) para produzir informações

É preciso também representar números fracionários (reais),

que muitas vezes são maiores que aqueles que são

possíveis representar como inteiros.

0,0000000001 = 1,0 x 10-9

3.155.760.000 = 3,15576 x 109

Ponto Flutuante

37

Page 38: Sistemas de Numeração. A Informação e sua Representação Os computadores manipulam dados (sinais brutos e sem significado individual) para produzir informações

Ponto flutuante Número de ponto flutuante: padrão IEEE

(a) Precisão simples (b) Precisão dupla

38

1 8 23

1

11

52

sinal Expoente Fração

(a)

(b)

Page 39: Sistemas de Numeração. A Informação e sua Representação Os computadores manipulam dados (sinais brutos e sem significado individual) para produzir informações

Representação Ponto Flutuante - Normalizado

Um nº em notação científica que não tem 0s na parte inteira

é dito normalizado. 1,0 x 10-9 está normalizado

0,1 x 10-8 ou 10,0 x 10-10 não está normalizado

Na base 2, a mesma representação é possível. 1,xxxxxxxxx x 2yyyy

39

Ponto flutuante

Page 40: Sistemas de Numeração. A Informação e sua Representação Os computadores manipulam dados (sinais brutos e sem significado individual) para produzir informações

Números em pf simples têm o formato abaixo: s expoent significat Onde: s: campo de sinal com 1 bit; expoent: campo para o expoente (E), com 8 bits (incluindo seu sinal); significat: campo para a parte fracionária (F), com 23 bits.

Tendo E 8 bits e F 23 bits, é possível representar frações (na base 10) tão pequenas como 2,0 * 10-38 e nº tão grandes como (na base 10) 2,0 x 1038.

Ainda assim pode ocorrer overflow na aritmética em pf.

40

Ponto flutuante

Page 41: Sistemas de Numeração. A Informação e sua Representação Os computadores manipulam dados (sinais brutos e sem significado individual) para produzir informações

Se uma fração é pequena demais para ser representada, significa que um expoente negativo não pode ser representado em 8 bits. Essa situação denomina-se underflow.

Para reduzir a possibilidade de ocorrer underflow ou overflow, existe a representação em pf de dupla precisão, que permite representar números de 2,0 x 10-308 até 2,0 x 10308.

41

Ponto flutuante

Page 42: Sistemas de Numeração. A Informação e sua Representação Os computadores manipulam dados (sinais brutos e sem significado individual) para produzir informações

Números normalizados nunca tem 0 antes da vírgula; Binários representam somente 0 e 1; Logo, binários normalizados teriam somente 1 antes da vírgula. Portanto, se binários normalizados tem sempre 1 antes da

vírgula, o hardware considera-o implícito e não o representa. A representação busca facilitar operação realizadas pelo

hardware. Sinal no campo mais significativo: permite testes rápidos para maior que,

menor que e igual a zero. Expoent antes do significant: permite uma ordenação simples, pois

números com expoentes maiores são maiores que números que tem expoente menor (números de mesmo sinal).

Expoentes em pf não utilizam complemento a dois. Como determinar, então, expoentes negativos?

42

Ponto flutuante

Page 43: Sistemas de Numeração. A Informação e sua Representação Os computadores manipulam dados (sinais brutos e sem significado individual) para produzir informações

Expoentes negativos Chamada Notação Desviada, onde o desvio é um número

subtraído para se ter o número real.

IEEE 754 usa desvio de 127 (28/2, descontado o 0) para prec. simples. Subtrair 127 do campo Expoente para se ter o valor real do expoente.

1023 é o desvio para precisão dupla. Subtrair 1023 do campo Expoente para se ter o valor real do expoente.

43

Ponto flutuante

Page 44: Sistemas de Numeração. A Informação e sua Representação Os computadores manipulam dados (sinais brutos e sem significado individual) para produzir informações

Exemplo:

O expoente -1 no padrão IEEE 754 seria representado como:

-1 + 127 = 126 = 01111110.

E o expoente +1:

+1 +127 = 128 = 10000000.

44

Ponto flutuante

Page 45: Sistemas de Numeração. A Informação e sua Representação Os computadores manipulam dados (sinais brutos e sem significado individual) para produzir informações

Precisão simples: Bit 31 30 23 22 0

S Expoent Significat

Nº de bits 1 8 23

(−1)S x (1 + Significando) x 2(Expoente −127)

45

Ponto flutuante

Page 46: Sistemas de Numeração. A Informação e sua Representação Os computadores manipulam dados (sinais brutos e sem significado individual) para produzir informações

Overflow

46

Resultado muito grande para a word finita do computador

E se o resultado de uma soma (ou subtração) for um número maior que o que é possível representar com os bits da word? No caso ocorre overflow.Por exemplo, somar dois números de n bits pode não produzir um número de n bits 1111+ 0001 10000 aqui um carry “transbordou”

Page 47: Sistemas de Numeração. A Informação e sua Representação Os computadores manipulam dados (sinais brutos e sem significado individual) para produzir informações

Overflow

47

Detectando overflowOverflow nunca ocorre quando somamos dois operandos de sinais

diferentes.Overflow nunca ocorre quando subtraímos dois operandos de sinais

iguais.Nos demais casos pode ocorrer overflow.

O overflow ocorre quando o valor afeta o sinal:– overflow ao somar dois positivos produz um negativo– ou, somar dois negativos produz um positivo– ou, subtraia um negativo de um positivo e obtenha um negativo– ou, subtraia um positivo de um negativo e obtenha um positivo

Page 48: Sistemas de Numeração. A Informação e sua Representação Os computadores manipulam dados (sinais brutos e sem significado individual) para produzir informações

Overflow

48

Exemplo:- 2.147.483.647- 2 (subtração de operandos com sinais diferentes)

Complemento a dois para determinar o números -2:+2 = 0000 0000 0000 0000 0000 0000 0000 00101111 1111 1111 1111 1111 1111 1111 1101+1 = 0000 0000 0000 0000 0000 0000 0000 0001- 2 = 1111 1111 1111 1111 1111 1111 1111 1110

1000 0000 0000 0000 0000 0000 0000 0001 = -2.147.483.6471111 1111 1111 1111 1111 1111 1111 1110 = -20111 1111 1111 1111 1111 1111 1111 1111 = +2.147.483.647

Page 49: Sistemas de Numeração. A Informação e sua Representação Os computadores manipulam dados (sinais brutos e sem significado individual) para produzir informações

Overflow

49

Portanto, em complemento de 2, a soma de dois números de mesmo sinal gera estouro se o resultado for de sinal diferente:

Ex: Pos + Pos = Neg ou Neg + Neg = Pos