77
Amintas Amintas engenhari engenhari a a

Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso [email protected] Sistemas de Numeração

Embed Size (px)

Citation preview

Page 1: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

AmintasAmintas

engenhariaengenharia

Page 2: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

Algoritmos e Estruturas de Dados I

Prof. Amintas Paiva [email protected]

Sistemas de NumeraçãoSistemas de Numeração

Page 3: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

Bases numéricasBases numéricas

Representação de números de ponto fixoRepresentação de números de ponto fixo

Representação de números de ponto flutuanteRepresentação de números de ponto flutuante

Prefixos do Sistema Internacional de MedidasPrefixos do Sistema Internacional de Medidas

SumárioSumário

Page 4: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

SumárioSumário

Bases numéricasBases numéricas

Representação de números de ponto fixoRepresentação de números de ponto fixo

Representação de números de ponto flutuanteRepresentação de números de ponto flutuante

Prefixos do Sistema Internacional de MedidasPrefixos do Sistema Internacional de Medidas

Page 5: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

Sistemas de Numeração Sistemas de Numeração

Um sistema de numeração é formado por um Um sistema de numeração é formado por um conjunto de símbolos conjunto de símbolos (alfabeto) que é utilizado (alfabeto) que é utilizado para para representar quantidadesrepresentar quantidades e por e por regrasregras que que definem a forma de representação.definem a forma de representação.

É definido por sua É definido por sua basebase, a qual define o número , a qual define o número de algarismos (ou dígitos) utilizados para de algarismos (ou dígitos) utilizados para representar números.representar números.

Page 6: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

Sistemas de Numeração Sistemas de Numeração

Bases mais utilizadas em computação:Bases mais utilizadas em computação: B=2B=2 bináriabinária B=8B=8 octaloctal B=10B=10 decimaldecimal B=16B=16 hexadecimalhexadecimal

Page 7: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

Sistemas PosicionaisSistemas Posicionais

O valor atribuído a um algarismo O valor atribuído a um algarismo depende dadepende da posiçãoposição em que ele ocupa no número. em que ele ocupa no número.

No sistema decimal, por exemplo, o símbolo 5 No sistema decimal, por exemplo, o símbolo 5 pode representar:pode representar: o o valor 5valor 5, como em , como em 2525 o o valor 50valor 50, como em , como em 5757 (50 + 7) (50 + 7) o o valor 500valor 500, como em , como em 523523 (500 + 20 + 3) (500 + 20 + 3)

Quanto mais à Quanto mais à esquerdaesquerda o símbolo está, mais ele o símbolo está, mais ele vale (vale (mais significativomais significativo).).

Page 8: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

Sistemas Não PosicionaisSistemas Não Posicionais

O valor de um símbolo é o mesmo, O valor de um símbolo é o mesmo, independentemente da posiçãoindependentemente da posição em que em que ele se encontra dentro do número.ele se encontra dentro do número.

Sistema de numeração romano.Sistema de numeração romano. Os símbolos e seus valores são sempre:Os símbolos e seus valores são sempre:

I I 1 1V V 5 5X X 10 10L L 50 50C C 100 100D D 500 500M M 1000 1000

Page 9: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

Sistema de Numeração Genérico na base BSistema de Numeração Genérico na base B

Em uma base Em uma base BB genérica, são usados B genérica, são usados B algarismos (ou dígitos) distintos:algarismos (ou dígitos) distintos: Base 2: Base 2: 0, 10, 1 Base 4: Base 4: 0, 1, 2, 30, 1, 2, 3 Base 8: Base 8: 0, 1, 2, 3, 4, 5, 6, 70, 1, 2, 3, 4, 5, 6, 7 Base 10:Base 10: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Base 16:Base 16: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F

Page 10: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

IntroduçãoIntrodução

Sistema binárioSistema binário – sistema de numeração – sistema de numeração que utiliza apenas os dígitos que utiliza apenas os dígitos 00 e e 11..

BITBIT – Dígito binário – Dígito binário (contração das palavras (contração das palavras BIBInary diginary digiTT).).

BYTEBYTE – Conjunto de – Conjunto de 8 bits8 bits..

Page 11: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

Sistema de Numeração Genérico na base BSistema de Numeração Genérico na base B

Dada uma base Dada uma base BB, quanto vale seu maior , quanto vale seu maior dígito? E o menor?dígito? E o menor?

Resposta:Resposta: Maior dígito: Maior dígito: B-1B-1 Menor dígito: Menor dígito: 0 (zero)0 (zero)

Page 12: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

Conversão da base B para a base decimal:: Parte inteiraConversão da base B para a base decimal:: Parte inteira

Considere um número na base Considere um número na base BB com: com: n+1n+1 dígitos na parte inteira (n ≥ 0) dígitos na parte inteira (n ≥ 0)

O valor na base decimal desse número é O valor na base decimal desse número é obtido da seguinte maneira:obtido da seguinte maneira:

0121)( aaaaaN nnB

00

11

22

1110)( BaBaBaBaBaN n

nn

n

Page 13: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

Conversão da base B para a base decimal:: Parte fracionáriaConversão da base B para a base decimal:: Parte fracionária

Considere um número na base Considere um número na base BB com: com: n+1n+1 dígitos na parte inteira (n ≥ 0) dígitos na parte inteira (n ≥ 0) kk dígitos na parte fracionária (k ≥ 0): dígitos na parte fracionária (k ≥ 0):

knnB aaaaaaaN 21011 ,)(

kk

nn

nn

BaBa

aBaBaBaN

1

1

01

11

110)(

parte fracionáriaparte fracionária

parte inteiraparte inteira

Page 14: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

Conversão da base B para a base decimalConversão da base B para a base decimal

Exemplos:Exemplos: (1011.11)(1011.11)22 = 1· = 1·2233 + 0· + 0·2222 + 1·+ 1·2211 + 1·+ 1·2200 ++

+ 1· + 1·22-1-1 + 1·+ 1·22-2-2 = (11.75)= (11.75)1010

(34.2)(34.2)88 = 3· = 3·8811 + 4·+ 4·8800 + 2·+ 2·88-1-1 = (28.25)= (28.25)1010

(FBA)(FBA)1616 = 15· = 15·161622 + 11·+ 11·161611 + 10·+ 10·161600 = (442)= (442)1010

(34.2)(34.2)1010 = 3· = 3·101011 + 4·+ 4·101000 + 2·+ 2·1010-1-1 = (34.2)= (34.2)1010

Page 15: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

Conversão da base decimal para a base BConversão da base decimal para a base B

É necessário converter É necessário converter separadamenteseparadamente a a parte inteira e a parte fracionária e fazer a parte inteira e a parte fracionária e fazer a concatenação dos resultadosconcatenação dos resultados

A vírgula continua separando as duas A vírgula continua separando as duas partes na nova base partes na nova base BB..

Page 16: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

Conversão da base decimal para a base B

:: Conversão da parte inteira

Conversão da base decimal para a base B

:: Conversão da parte inteira

1.1. Divide-se o número decimal dado e os Divide-se o número decimal dado e os quocientes sucessivos por quocientes sucessivos por BB até que o até que o quociente resulte em quociente resulte em 00..

2.2. O último quociente e todos os restos, tomados O último quociente e todos os restos, tomados no sentido no sentido ascendenteascendente (de baixo para cima), (de baixo para cima), formarão o número na base formarão o número na base BB..

Page 17: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

Conversão da base decimal para a base B

:: Conversão da parte inteira

Conversão da base decimal para a base B

:: Conversão da parte inteira Exemplo:Exemplo:

(197)(197)1010 (11000101) (11000101)22

Page 18: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

Conversão da base decimal para a base B:: Conversão da parte fracionáriaConversão da base decimal para a base B:: Conversão da parte fracionária

Para transformar a parte fracionaria de Para transformar a parte fracionaria de um número decimal para a base um número decimal para a base BB, ela , ela deve ser deve ser multiplicadamultiplicada, repetidamente, por , repetidamente, por BB..

Após cada multiplicação, o Após cada multiplicação, o dígito da parte dígito da parte inteirainteira do resultado será transportado do resultado será transportado para a parte fracionária da nova base.para a parte fracionária da nova base.

Repete-se o processo com a parte Repete-se o processo com a parte fracionária do resultado, até que:fracionária do resultado, até que: Atinja-se a precisão desejada, ouAtinja-se a precisão desejada, ou O novo resultado seja igual a zero.O novo resultado seja igual a zero.

Page 19: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

Conversão da base decimal para a base B:: Conversão da parte fracionáriaConversão da base decimal para a base B:: Conversão da parte fracionária

Exemplo:Exemplo:

(.4375)(.4375)1010 (.0111) (.0111)22

Page 20: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

Conversão da base decimal para a base B:: Conversão da parte fracionáriaConversão da base decimal para a base B:: Conversão da parte fracionária

Exemplo:Exemplo:

(.060546875)(.060546875)1010 (.0F8) (.0F8)1616

Page 21: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

Erro de arredondamentoErro de arredondamento

A precisão da mudança de base de A precisão da mudança de base de decimal para binário depende do decimal para binário depende do número número de bits de bits que representam a parte que representam a parte fracionária.fracionária.

Considere uma fração de quatro bits na Considere uma fração de quatro bits na forma:forma:

Ela pode representar um número X na Ela pode representar um número X na base 10:base 10:

4321,0 xxxx

44

33

22

11 2222

xxxxX

4321 0625,0125,025,05,0 xxxx

Page 22: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

Erro de arredondamentoErro de arredondamento

Considere as seguintes palavras binárias:Considere as seguintes palavras binárias:

A fração decimal A fração decimal 0,92700,9270 não pode ser não pode ser representada de forma exata usando representada de forma exata usando 4 4 bitsbits..

Valor binário mais próximo: Valor binário mais próximo: XXbb = 0,1111 = 0,1111.. De quanto é o erro?De quanto é o erro?

1111,0

1110,0

b

a

X

X

9375,0

8750,0

b

a

X

X

Page 23: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

Erro de arredondamentoErro de arredondamento

Erro de arredondamento:Erro de arredondamento:

A única maneira de solucionar o problema A única maneira de solucionar o problema é adicionar é adicionar mais bits mais bits à representação à representação binária.binária.

1009270,0

9270,09375,0

%13,1

Page 24: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

SumárioSumário

Bases numéricasBases numéricas

Representação de números de ponto fixoRepresentação de números de ponto fixo

Representação de números de ponto flutuanteRepresentação de números de ponto flutuante

Prefixos do Sistema Internacional de MedidasPrefixos do Sistema Internacional de Medidas

Page 25: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

Representação de número de ponto fixoRepresentação de número de ponto fixo

Temos somente os algarismos Temos somente os algarismos 00 e e 11 para para representar todos os números inteiros.representar todos os números inteiros.

Inteiros positivos são transformados em Inteiros positivos são transformados em binário:binário: 41 41 == 0010 10010010 1001 11 == 0000 00010000 0001 6464 == 0100 00000100 0000

Essa representação de números inteiros Essa representação de números inteiros em binário é em binário é diretadireta e não se preocupa com e não se preocupa com sinal, nem com formatação dos bits.sinal, nem com formatação dos bits.

Page 26: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

Representação de número de ponto fixoRepresentação de número de ponto fixo

Como representar inteiros negativos?Como representar inteiros negativos?

Opção “natural”:Opção “natural”: Alocar um bit para guardar o sinal do número.Alocar um bit para guardar o sinal do número. Opção conhecida como Opção conhecida como magnitude de sinalmagnitude de sinal..

Page 27: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

Ponto fixo:: Magnitude de sinalPonto fixo:: Magnitude de sinal

Bit mais à esquerda representa o sinal:Bit mais à esquerda representa o sinal: 0 0 positivo positivo 1 1 negativo negativo

Exemplos:Exemplos: +18 = 0001 0010+18 = 0001 0010 -18 = 1001 0010-18 = 1001 0010

Problemas:Problemas: Duas representações de zero (+0 e -0).Duas representações de zero (+0 e -0). Deve-se tomar cuidado com o bit de sinal nas Deve-se tomar cuidado com o bit de sinal nas

operações aritméticas.operações aritméticas.

Page 28: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

Ponto fixo:: Complemento de doisPonto fixo:: Complemento de dois

Número negativo é assim obtido:Número negativo é assim obtido: Inverte-se os bits do número positivo Inverte-se os bits do número positivo

equivalente:equivalente:(5)(5)decdec : 0101 : 0101 1010 1010

Soma-se 1 ao número invertido:Soma-se 1 ao número invertido:(-5)(-5)decdec: 1010 + 1 : 1010 + 1 1011 1011

Mais Exemplos:Mais Exemplos: +2 +2 == 0000 00100000 0010 +1 +1 == 0000 00010000 0001 +0 +0 == 0000 00000000 0000 -1 -1 == 1111 11111111 1111 -2 -2 == 1111 11101111 1110

Page 29: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

Ponto fixo:: Complemento de doisPonto fixo:: Complemento de dois

Para encontrar um número positivo a Para encontrar um número positivo a partir do seu oposto, procede-se da partir do seu oposto, procede-se da mesma forma:mesma forma: Inverte-se os bits do número negativo Inverte-se os bits do número negativo

equivalente:equivalente:(-2)(-2)decdec : 1110 : 1110 0001 0001

Soma-se 1 ao número invertido:Soma-se 1 ao número invertido:(2)(2)decdec: 0001 + 1 : 0001 + 1 0010 0010

Por quê?Por quê?

Page 30: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

Ponto fixo:: Complemento de doisPonto fixo:: Complemento de dois

0000000000010001

00100010

00110011

01000100

01010101

01100110

0111011110001000

10011001

10101010

10111011

11001100

11011101

11101110

11111111

1 1 + + 1 1 – –

2 2 + +

3 3 + +

4 4 + +

5 5 + +

6 6 + +

7 7 + +

2 2 – –

3 3 – –

4 4 – –

5 5 – –

6 6 – –

7 7 – – 8 8 – –

0 0

Page 31: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

Ponto fixo:: Complemento de doisPonto fixo:: Complemento de dois

Benefícios:Benefícios: Uma representaçãoUma representação do número zero.do número zero.

Facilita-se o trabalho aritméticoFacilita-se o trabalho aritmético: a subtração é : a subtração é transformada em duas operações conhecidas – transformada em duas operações conhecidas – adição e inversão.adição e inversão.

Page 32: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

Ponto fixo:: Complemento de doisPonto fixo:: Complemento de dois

maxint

minint

32 bits

Page 33: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

Ponto fixo:: Extensão de sinalPonto fixo:: Extensão de sinal

Como um número representado por Como um número representado por kk bits bits pode ser representado por pode ser representado por k+xk+x bits, x>0? bits, x>0? Os bits acrescentados à esquerda não devem Os bits acrescentados à esquerda não devem

alterar o alterar o valorvalor, nem o , nem o sinalsinal do número. do número.

Simplesmente replica-se o bit de sinal para Simplesmente replica-se o bit de sinal para a esquerda até completar os novos bits:a esquerda até completar os novos bits: NúmerosNúmeros positivospositivos têm infinitos têm infinitos zeroszeros à à

esquerda.esquerda. Números Números negativosnegativos têm infinitos têm infinitos unsuns à à

esquerdaesquerda..

Page 34: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

Ponto fixo:: Extensão de sinal :: ExemploPonto fixo:: Extensão de sinal :: Exemplo

-4-4decdec (16 bits) para 32 bits: (16 bits) para 32 bits:

1111 1111 1111 1100 1111 1111 1111 1100 binbin

1111 1111 1111 1100 1111 1111 1111 1100 binbin

1111 1111 1111 1111

Page 35: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

Operações com ponto fixoOperações com ponto fixo

Adição:Adição: Dígitos são somados bit a bit, da direita para a Dígitos são somados bit a bit, da direita para a

esquerda.esquerda. Carries (vai-um) são passados para o próximo dígito à Carries (vai-um) são passados para o próximo dígito à

esquerda.esquerda.

Subtração:Subtração: Nega-se o subtraendo e soma-se um (complemento de Nega-se o subtraendo e soma-se um (complemento de

2)2) Soma-se o resultado anterior com o diminuendoSoma-se o resultado anterior com o diminuendo

Page 36: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

Operações com ponto fixo:: OverflowOperações com ponto fixo:: Overflow

Situação anormal que ocorre quando o Situação anormal que ocorre quando o resultado resultado de uma operação não pode ser representadode uma operação não pode ser representado com com um dada quantidade de bits, a depender da um dada quantidade de bits, a depender da arquitetura de computador.arquitetura de computador.

Adição:Adição: Quando os sinais dos operandos são iguais, pode Quando os sinais dos operandos são iguais, pode

ocorrer overflow.ocorrer overflow.

Subtração:Subtração: Quando os sinais dos operandos são diferentes, pode Quando os sinais dos operandos são diferentes, pode

ocorrer overflow.ocorrer overflow.

Page 37: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

SumárioSumário

Bases numéricasBases numéricas

Representação de números de ponto fixoRepresentação de números de ponto fixo

Representação de números de ponto flutuanteRepresentação de números de ponto flutuante

Prefixos do Sistema Internacional de MedidasPrefixos do Sistema Internacional de Medidas

Page 38: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

Um número Um número realreal pode ser representado no pode ser representado no seguinte formato:seguinte formato:

(-1)(-1)ss ×× mm ×× BBee

s s – – sinalsinal mm – – significando (mantissa)significando (mantissa) BB – – basebase ee – – expoenteexpoente

Ponto flutuante (Padrão IEEE 754)Ponto flutuante (Padrão IEEE 754)

Page 39: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

O bit mais à esquerda guarda o sinal do O bit mais à esquerda guarda o sinal do número:número: bit = 0 bit = 0 número positivo número positivo bit = 1bit = 1 número negativo número negativo Não há mais notação de complemento de 2 Não há mais notação de complemento de 2

para o número representado!para o número representado!

Ponto flutuante (Padrão IEEE 754):: SinalPonto flutuante (Padrão IEEE 754):: Sinal

Page 40: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

O significando é representado na forma O significando é representado na forma normalizada (base binária):normalizada (base binária):

1.xxxxx1.xxxxx E não na forma científica:E não na forma científica:

0.1xxxx0.1xxxx

O significando é composto por:O significando é composto por: Algarismo 1Algarismo 1 Ponto de separaçãoPonto de separação FraçãoFração

Ponto flutuante (Padrão IEEE 754) :: FraçãoPonto flutuante (Padrão IEEE 754) :: Fração

Page 41: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

O algarismo 1 e o ponto de numeração O algarismo 1 e o ponto de numeração não não precisam ser armazenadosprecisam ser armazenados, pois são os mesmos , pois são os mesmos para todos os números reais representados.para todos os números reais representados.

Caso a fração possua menos bits que o esperado, Caso a fração possua menos bits que o esperado, zeros devem ser colocados zeros devem ser colocados à direitaà direita, pois não , pois não têm significância.têm significância.

11001100000000000000000

23 bits

fração

fração = 1,110011

Ponto flutuante (Padrão IEEE 754):: FraçãoPonto flutuante (Padrão IEEE 754):: Fração

Page 42: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

A base A base BB é implícita (binária) e é implícita (binária) e não precisa não precisa ser guardadaser guardada, pois é a mesma para todos , pois é a mesma para todos os números representados.os números representados.

Ponto flutuante (Padrão IEEE 754):: BasePonto flutuante (Padrão IEEE 754):: Base

Page 43: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

O expoente é representado na O expoente é representado na notação notação deslocadadeslocada, ou excesso de N, ou excesso de N

Maior expoente representável: Maior expoente representável: 22n-1n-1

Representado por: Representado por: 11...1111...11

Menor expoente representável: Menor expoente representável: -(2-(2n-1n-1 - 1) - 1) Representado por: Representado por: 00...0000...00

Ponto flutuante (Padrão IEEE 754):: ExpoentePonto flutuante (Padrão IEEE 754):: Expoente

Page 44: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

DecimalDecimal Complemento Complemento de doisde dois

Notação Notação excesso de excesso de

NN

+4+4 ---- 111111

+3+3 011011 110110

+2+2 010010 101101

+1+1 001001 100100

00 000000 011011

-1-1 111111 010010

-2-2 110110 001001

-3-3 101101 000000

-4-4 100100 ----

Ponto flutuante (Padrão IEEE 754):: Notação excesso de NPonto flutuante (Padrão IEEE 754):: Notação excesso de N

Page 45: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

Ponto flutuante (Padrão IEEE 754):: Notação deslocadaPonto flutuante (Padrão IEEE 754):: Notação deslocada

Representação do valor Representação do valor zerozero: : 01...1101...11..

Representação do valor Representação do valor umum: : 10...0010...00..

Demais valores: Demais valores: somar ao zero somar ao zero (deslocamento)(deslocamento)..

Vantagem: Vantagem: facilita a comparação de facilita a comparação de expoentesexpoentes entre números de mesmo sinal. entre números de mesmo sinal.

Page 46: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

23 bits8 bits1 bit

fraçãoexpoentesinal

Ponto flutuante (Padrão IEEE 754)Ponto flutuante (Padrão IEEE 754)

O formato de precisão simples (O formato de precisão simples (floatfloat) ) ocupa ocupa 32 bits32 bits..

Page 47: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

52 bits11 bits1 bit

fraçãoexpoentesinal

Ponto flutuante (Padrão IEEE 754)Ponto flutuante (Padrão IEEE 754)

O formato de precisão dupla (O formato de precisão dupla (doubledouble) ) ocupa ocupa 64 bits64 bits..

Page 48: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

Exemplo:Exemplo:

(10)(10)binbin = +1.0 = +1.0 × 2× 211

0

1 bit

sinal

0000 0000 0000 0000 0000 000

23 bits

fração1000 0000

8 bits

expoente

Ponto flutuante (Padrão IEEE 754)Ponto flutuante (Padrão IEEE 754)

Page 49: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

Mais exemplos:Mais exemplos:

Ponto flutuante (Padrão IEEE 754)Ponto flutuante (Padrão IEEE 754)

fração fração em em

bináriobinárioexpoente expoente não não sinalizadosinalizado

floatfloat fração fração em em decimaldecimal

expoente expoente decimaldecimal

Page 50: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

00 223131 - 1 - 1-2-23131

Inteiros representados

00- (2 - 2- (2 - 2-23-23) ) × 2× 2128128

underflow positivo

- - 22-127-127 22-127-127 (2 - 2(2 - 2-23-23) ) × 2× 2128128

underflow

negativonúmeros

representados

números representad

os

overflow positivo

overflow negativo

Ponto flutuante × Ponto fixoPonto flutuante × Ponto fixo

Page 51: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

Densidade de números de ponto flutuanteDensidade de números de ponto flutuante

Números representados em ponto Números representados em ponto flutuante flutuante não são igualmentenão são igualmente espaçados, espaçados, tal como na tal como na notaçãonotação de ponto fixo. de ponto fixo.

Alguns cálculos podem produzir resultados Alguns cálculos podem produzir resultados que não são exatos e tenham de ser que não são exatos e tenham de ser arredondadosarredondados para a notação mais para a notação mais próxima.próxima.

222323 n nosos. reais . reais representadorepresentado

ss

222323 n nosos. reais . reais representadorepresentado

ss

Page 52: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

0 00000000

0000000000000000000000fraçãoexpoentesinal

1 00000000

0000000000000000000000fraçãoexpoentesinal

““+ 0”+ 0”

““- 0”- 0”

Ponto flutuante:: ZeroPonto flutuante:: Zero

Como o zero é representado em ponto Como o zero é representado em ponto flutuante?flutuante?

Page 53: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

0 11111111

0000000000000000000000fraçãoexpoentesinal +∞

1 11111111

0000000000000000000000fraçãoexpoentesinal -∞

Ponto flutuante:: InfinitoPonto flutuante:: Infinito

Notação especial para representar Notação especial para representar eventos incomunseventos incomuns:: permite que os programas possam manipulá-permite que os programas possam manipulá-

los sem que sejam interrompidos.los sem que sejam interrompidos.

Page 54: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

x 11111111

xxx...xx ≠ 0fraçãoexpoentesinal

Ponto flutuante:: NaN – Not a NumberPonto flutuante:: NaN – Not a Number

É uma representação do resultado de É uma representação do resultado de operações inválidas, tais como:operações inválidas, tais como: 0/00/0 ∞ ∞ - ∞- ∞ ∞∞/∞/∞ 0 0 × ∞× ∞ √√x, x < 0x, x < 0

Page 55: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

x 00000000

xxx...xx ≠ 0fraçãoexpoentesinal

Ponto flutuante:: Números desnormalizadosPonto flutuante:: Números desnormalizados

Servem para lidar com casos de Servem para lidar com casos de underflowunderflow..

Quando o expoente é muito pequeno para Quando o expoente é muito pequeno para ser representado em 8 bits (ser representado em 8 bits (menor que -menor que -127127), o número é ), o número é deslocado à direitadeslocado à direita até até que o expoente seja igual a que o expoente seja igual a -127-127..

Page 56: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

Ponto flutuante:: Números desnormalizadosPonto flutuante:: Números desnormalizados

Page 57: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

Ponto flutuante:: ResumoPonto flutuante:: Resumo

Page 58: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

Adição e subtração:Adição e subtração: Ambos operandos precisam ter o mesmo Ambos operandos precisam ter o mesmo

expoente.expoente.

Divisão e multiplicação:Divisão e multiplicação: São mais simples de serem calculadas.São mais simples de serem calculadas.

Operações com ponto flutuanteOperações com ponto flutuante

Page 59: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

Operações com ponto flutuanteOperações com ponto flutuante

Overflow:Overflow: ocorre quando o expoente é ocorre quando o expoente é muito grande para ser representado no muito grande para ser representado no campo expoente.campo expoente.

Underflow:Underflow: ocorre quando o expoente é ocorre quando o expoente é muito pequeno (= pequena fração) para muito pequeno (= pequena fração) para ser representado no campo expoente.ser representado no campo expoente.

Page 60: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

Podem produzir uma das seguintes Podem produzir uma das seguintes condições:condições:

Overflow de expoenteOverflow de expoente Underflow de expoenteUnderflow de expoente Underflow de significandoUnderflow de significando Overflow de significandoOverflow de significando

Operações com ponto flutuanteOperações com ponto flutuante

Page 61: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

O valor do O valor do expoente positivoexpoente positivo excede o maior excede o maior valor possível (128 para precisão simples):valor possível (128 para precisão simples):

s 11111111

ffffffffffffffffffffffffraçãoexpoentesinal

× 2× 2

s 00000000

ffffffffffffffffffffffffraçãoexpoentesinal

1

Operações com ponto flutuante:: Overflow de expoenteOperações com ponto flutuante:: Overflow de expoente

Page 62: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

O valor do O valor do expoente negativoexpoente negativo é menor que o é menor que o mínimo possível (-127 para precisão simples):mínimo possível (-127 para precisão simples):

s 00000000

ffffffffffffffffffffffffraçãoexpoentesinal

× 2-1

s ????! ffffffffffffffffffffffffraçãoexpoentesinal

Operações com ponto flutuante:: Underflow de expoenteOperações com ponto flutuante:: Underflow de expoente

Page 63: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

s exp 11001110001111000011011

s exp + 2 00110011100011110000110

11

Operações com ponto flutuante:: Underflow de significandoOperações com ponto flutuante:: Underflow de significando

No processo de alinhamento de No processo de alinhamento de significandos, dígitos podem sumir na significandos, dígitos podem sumir na extremidade direita.extremidade direita.

Ocasiona arredondamento.Ocasiona arredondamento.

Page 64: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

s exp 11001110000000000000000

s exp 11001110000000000000000

++

s exp 10011100000000000000000

1

s exp - 1 11001110000000000000000

Operações com ponto flutuante:: Overflow de significandoOperações com ponto flutuante:: Overflow de significando

Adição de dois significandos pode resultar Adição de dois significandos pode resultar em um carry (vai um) no bit mais em um carry (vai um) no bit mais significativosignificativo

Pode ser resolvido com realinhamento.Pode ser resolvido com realinhamento.

Page 65: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

XEXSX 2 XEXSX 2

YEYSY 2 YEYSY 2

YX EY

EX SSYX 22 YX E

YE

X SSYX 22

XYX EEYX

E SS 22 XYX EEYX

E SS 22

Operações com ponto flutuante:: Adição e subtraçãoOperações com ponto flutuante:: Adição e subtração

Page 66: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

Representação de númerosRepresentação de números

Mais informações:

William Stallings. Computer Organization and Architecture: Designing for Performance. 7th Edition, Prentice Hall, 2005.

Wikipedia.

Page 67: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

SumárioSumário

Bases numéricasBases numéricas

Representação de números de ponto fixoRepresentação de números de ponto fixo

Representação de números de ponto flutuanteRepresentação de números de ponto flutuante

Prefixos do Sistema Internacional de MedidasPrefixos do Sistema Internacional de Medidas

Page 68: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

Prefixos do Sistema Internacional de MedidasPrefixos do Sistema Internacional de Medidas

Sistema Internacional de Medidas: SISistema Internacional de Medidas: SI Padroniza unidades de medidas e seus Padroniza unidades de medidas e seus

prefixos.prefixos.

Dois grandes grupos de prefixos:Dois grandes grupos de prefixos: MúltiplosMúltiplos de 10 de 10 SubmúltiplosSubmúltiplos de 10 de 10

Page 69: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

Prefixos do Sistema Internacional de MedidasPrefixos do Sistema Internacional de Medidas

PrefixoPrefixo SímboloSímbolo Potência de 10Potência de 10

kilokilo kk 101033

megamega MM 101066

gigagiga GG 101099

teratera TT 10101212

petapeta PP 10101515

exaexa EE 10101818

zettazetta ZZ 10102121

yottayotta YY 10102424

Page 70: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

Prefixos do Sistema Internacional de MedidasPrefixos do Sistema Internacional de Medidas

PrefixoPrefixo SímboloSímbolo Potência de 10Potência de 10

milimili mm 1010-3-3

micromicro μμ 1010-6-6

nanonano nn 1010-9-9

picopico pp 1010-12-12

femtofemto ff 1010-15-15

attoatto aa 1010-18-18

zeptozepto zz 1010-21-21

yoctoyocto yy 1010-24-24

Page 71: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

Prefixos do Sistema Internacional de MedidasPrefixos do Sistema Internacional de Medidas

310210

nn

BBBGB 303

910

9 25251055

103

102n

n

ou

Em Computação, costuma-se utilizar os Em Computação, costuma-se utilizar os mesmos prefixos das potências de 10 mesmos prefixos das potências de 10 como como aproximação aproximação de potências de 2.de potências de 2.

A conversão é feita de seguinte forma:A conversão é feita de seguinte forma:

Exemplo:Exemplo:

Page 72: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

Prefixos do Sistema Internacional de MedidasPrefixos do Sistema Internacional de Medidas

Quando representa uma aproximação de Quando representa uma aproximação de 221010, o prefixo kilo é escrito como , o prefixo kilo é escrito como KiloKilo, ou , ou seja, com a seja, com a inicial maiúsculainicial maiúscula..

Dessa forma, quando tratamos com Dessa forma, quando tratamos com potências de 2, temos:potências de 2, temos: Prefixos maiúsculos: Prefixos maiúsculos: múltiplos de 2múltiplos de 2.. Prefixos minúsculos: Prefixos minúsculos: submúltiplos de 2submúltiplos de 2..

Page 73: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

Prefixos do Sistema Internacional de Medidas:: Correspondência entre potências de 10 e de 2

Prefixos do Sistema Internacional de Medidas:: Correspondência entre potências de 10 e de 2

PrefixoPrefixo SímboloSímbolo Potência de Potência de 1010

Potência de Potência de 22

kilokilo kk 101033 221010

megamega MM 101066 222020

gigagiga GG 101099 223030

teratera TT 10101212 224040

petapeta PP 10101515 225050

exaexa EE 10101818 226060

zettazetta ZZ 10102121 227070

yottayotta YY 10102424 228080

Page 74: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

Prefixos da IECPrefixos da IEC

Em 1998, a IEC (International Em 1998, a IEC (International Electrotechnical Commission) aprovou Electrotechnical Commission) aprovou novos prefixos especialmente dedicados a novos prefixos especialmente dedicados a potências de 2.potências de 2.

Dessa forma:Dessa forma: 5 5 gigagigabytes (GB) deveriam significar bytes (GB) deveriam significar

exatamente exatamente 5 5 ×× 10 1099 bytes bytes.. 5 5 gibigibibytes (GiB) deveriam significar bytes (GiB) deveriam significar

exatamente exatamente 5 5 ×× 2 23030 bytes bytes..

Tal convenção Tal convenção ainda não foi amplamente ainda não foi amplamente adotada adotada no meio científico.no meio científico.

Page 75: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

Prefixos da IECPrefixos da IEC

PrefixoPrefixo SímboloSímbolo Potência de 2Potência de 2

kibikibi KiKi 221010

mebimebi MiMi 222020

gibigibi GiGi 223030

tebitebi TiTi 224040

pebipebi PiPi 225050

exbiexbi EiEi 226060

Prefixo de potência de 10 + bi (binário)Prefixo de potência de 10 + bi (binário)

Page 76: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

Prefixos do Sistema Internacional de MedidasPrefixos do Sistema Internacional de Medidas

Mais informações:Mais informações:

Francois Cardarelli. Encyclopaedia of Scientific Units, Weights and Measures. Editora Springer, 2003.

Wikipedia.Wikipedia.

Page 77: Amintas engenharia. Algoritmos e Estruturas de Dados I Prof. Amintas Paiva Afonso amintas@matematiques.com.br  Sistemas de Numeração

www.matematiques.comwww.matematiques.com.br.br

engenhariaengenharia