fundamentos da informatica - aula 06

Upload: luis-soares

Post on 06-Jul-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/17/2019 Fundamentos da Informatica - Aula 06

    1/33

    Fundamentos da Informática

    Prof. Gabriel Patzer

    Aula 06 – 06/04

  • 8/17/2019 Fundamentos da Informatica - Aula 06

    2/33

    Representação de números

    negativos

    • Deve-se utilizar uma representação,

    utilizando algum dos bits para

    identificar números negativos;

    • Algumas estratégias:

     – Sinal e Magnitude;

     – Complemento de 1;

     – Complemento de 2;

  • 8/17/2019 Fundamentos da Informatica - Aula 06

    3/33

    Representação de números

    negativos

    • Outro modo de representar números é

    baseado em deslocamento;

    • Essa representação é conhecida como

    Excesso-N ou Offset Binário;

     – O 1º valor (00000000) equivale a –N;

     – O valor N em binário equivale a 0 (zero);

    Fundamentos da Informática 3 / 4606/04/2016

  • 8/17/2019 Fundamentos da Informatica - Aula 06

    4/33

    Representação de números

    negativos

    Binário Sem sinal Excesso-7

    0000 0 -7

    0001 1 -6

    0010 2 -5

    0011 3 -4

    0100 4 -3

    0101 5 -2

    0110 6 -1

    0111 7 0

    1000 8 1

    1001 9 2

    1010 10 3

    1011 11 4

    1100 12 5

    1101 13 6

    1110 14 7

    1111 15 8

  • 8/17/2019 Fundamentos da Informatica - Aula 06

    5/33

    Representação de números

    negativos

    Binário Sem sinal Com sinal

    0000 0 +0

    0001 1 1

    0010 2 2

    0011 3 3

    0100 4 4

    0101 5 5

    0110 6 6

    0111 7 7

    1000 8 -0

    1001 9 -1

    1010 10 -2

    1011 11 -3

    1100 12 -4

    1101 13 -5

    1110 14 -6

    1111 15 -7

  • 8/17/2019 Fundamentos da Informatica - Aula 06

    6/33

    Representação de números

    negativos

    Binário Sem sinal Complemento de 1

    0000 0 +0

    0001 1 1

    0010 2 2

    0011 3 3

    0100 4 4

    0101 5 5

    0110 6 6

    0111 7 7

    1000 8 -7

    1001 9 -6

    1010 10 -5

    1011 11 -4

    1100 12 -3

    1101 13 -2

    1110 14 -1

    1111 15 -0

  • 8/17/2019 Fundamentos da Informatica - Aula 06

    7/33

    Representação de números

    negativos

    Binário Sem sinal Complemento de 2

    0000 0 0

    0001 1 1

    0010 2 2

    0011 3 3

    0100 4 4

    0101 5 5

    0110 6 6

    0111 7 7

    1000 8 -8

    1001 9 -7

    1010 10 -6

    1011 11 -5

    1100 12 -4

    1101 13 -3

    1110 14 -2

    1111 15 -1

  • 8/17/2019 Fundamentos da Informatica - Aula 06

    8/33

    VALORES FRACIONÁRIOS

  • 8/17/2019 Fundamentos da Informatica - Aula 06

    9/33

    Valores Fracionários

    • Um sistema numérico completo

    também deve ser capaz de representar

    valores fracionários;

    • No sistema decimal, utilizamos a vírgula

    para identificar valores não-inteiros;

  • 8/17/2019 Fundamentos da Informatica - Aula 06

    10/33

    Valores Fracionários

    • Exemplo: 12,34

    12,34

    4 x 10-2

      = 0,043 x 10-1  = 0,3

    2 x 100  = 2

    1 x 101  = 10+ 12,34

  • 8/17/2019 Fundamentos da Informatica - Aula 06

    11/33

    Valores Fracionários

    • No caso do sistema binário, a mesma

    estratégia para determinação de

    valores inteiros pode ser utilizada;

    • Quando a potência de um número é

    negativa, o resultado equivale à mesma

    potência na parte de baixo da fração;

  • 8/17/2019 Fundamentos da Informatica - Aula 06

    12/33

    Valores Fracionários

    •   2− = 

     

    •   2− = 

     =

     

     = 0,5 

    •   2− = 

     =

     

    4 = 0,25 

    •   2− = 

     =

     

    8

     = 0,125 

    •   2−4 = 

     =

     

     = 0,0625 

  • 8/17/2019 Fundamentos da Informatica - Aula 06

    13/33

    Valores Fracionários

    • Exemplo: 10,112

    10,11

    1 x 2-2

      = 0,251 x 2-1  = 0,5

    0 x 20  = 0

    1 x 21  = 2+ 2,75

  • 8/17/2019 Fundamentos da Informatica - Aula 06

    14/33

    Valores Fracionários

    • O problema que surge é a dificuldade

    de representar números onde a parte

    fracionária não é um fator de 2, como

    • Qualquer fração que possua um fator

    primo que não seja 2 não termina;

  • 8/17/2019 Fundamentos da Informatica - Aula 06

    15/33

    Valores Fracionários

  • 8/17/2019 Fundamentos da Informatica - Aula 06

    16/33

    Valores Fracionários

    • Outra maneira de associar a

    representação de frações em binário é

    determinar o denominador e “deslocar

    a vírgula” de acordo com ele; 

    • Em seguida, escrever o numerador

    normalmente, terminando na posição

    deslocada;

  • 8/17/2019 Fundamentos da Informatica - Aula 06

    17/33

    Valores Fracionários

    • 0,875 7/8 111 0,111

    • 1,125 9/8 1001 1,001

    • 1,4375 23/16 10111 1,0111

    • Calcule, em binário:

    +

    8 =? 

    4+

     

     =? 

  • 8/17/2019 Fundamentos da Informatica - Aula 06

    18/33

    Notação Científica

    • Na notação científica, números sãorepresentados em 3 partes:

    ×  

     – m é a mantissa, os dígitos a seremrepresentados;

    • Em base 10, a mantissa deve estar entre 1 e10;

    • Em base 2, a mantissa deve estar entre 1 e 2; – b é a base utilizada na representação;

     – e é o expoente, ou ordem de grandeza;

  • 8/17/2019 Fundamentos da Informatica - Aula 06

    19/33

    Notação Científica

    •   2015  = 2,015 × 10 

    •   2015  = 111.1110.0000 

    •   2015  = 1,1111.1 × 2 

    •   300.000  = 3,0 × 10 

    •   300.000

     =

    100.1001.0011.1110.0000 

    •   300.000  = 1,0010.0100.1111.1 × 28 

  • 8/17/2019 Fundamentos da Informatica - Aula 06

    20/33

    Ponto Flutuante

    • A representação de ponto flutuante éuma forma utilizada por computadorespara armazenar números muito

    grandes ou pequenos e/ou fracionários,baseada na notação científica;

    • O padrão IEEE 754 define diversasformas de armazenamento earredondamento para a representaçãode ponto flutuante;

  • 8/17/2019 Fundamentos da Informatica - Aula 06

    21/33

    Ponto Flutuante

    • A forma mais utilizada para ponto

    flutuante é a de precisão simples, que éarmazenada em 32 bits;

     – Outro formato comum é o de precisãodupla, que é armazenado em 64 bits;

  • 8/17/2019 Fundamentos da Informatica - Aula 06

    22/33

    Ponto Flutuante

    • Na precisão simples, utiliza-se 2 comobase fixa;

    • A mantissa estará sempre entre 1 e 2,

    portanto sua parte inteira sempre será1;

    • O expoente é expresso em Excesso-127,

    portanto o número zero no campo deexpoente indica uma grandeza de2−;

  • 8/17/2019 Fundamentos da Informatica - Aula 06

    23/33

    Ponto Flutuante

    • Pode-se descrever essa representaçãocomo a seguir:

    = × × 2 

    = 1 2 ×   = 1, = 1 + × 2− 

    = 127 

    •Cada conjunto de bits no número emponto flutuante representa os valores s (1 bit), e (8 bits) e m (23 bits);

  • 8/17/2019 Fundamentos da Informatica - Aula 06

    24/33

    Ponto Flutuante

    • Para armazenar o valor 1 em pontoflutuante, em precisão simples, énecessário utilizar a seguinte

    racionalização:(+) 1,0 x 20

    • 1 bit de sinal = 0

    •8 bits de expoente = 0111.1111

    • 23 bits de mantissa =000.0000.0000.0000.0000.0000

  • 8/17/2019 Fundamentos da Informatica - Aula 06

    25/33

    Ponto Flutuante

    • Uma variável em ponto flutuante

    armazenando o número 1, portanto,

    estará escrita na memória como:

    0011 1111 1000 0000 0000 0000 0000 0000

    1+mantissa

    (somente a parte fracionária da

    mantissa)

    Expoente-127

    S

    i

    n

    a

    l

  • 8/17/2019 Fundamentos da Informatica - Aula 06

    26/33

    Ponto Flutuante

    • Qual é o valor da representação de ponto

    flutuante abaixo?

    0000 0000 0000 0000 0000 0000 0000 0000

    1+mantissa

    (somente a parte fracionária da

    mantissa)

    Expoente-127

    S

    i

    n

    a

    l

  • 8/17/2019 Fundamentos da Informatica - Aula 06

    27/33

    Ponto Flutuante

    • Existem valores especiais nesta

    representação:

    IEEE-754 Precisão Simples Valors e m

    x 0000 0000 000 0000 0000 0000 0000 0000 Zero (+ ou -)

    x 0000 0000 Diferente de zeroNúmero não normalizado

    (0,mantissa)

    x 1111 1111 000 0000 0000 0000 0000 0000 Infinito (+ ou -)

    x 1111 1111 Diferente de zero NaN (not a Number)

  • 8/17/2019 Fundamentos da Informatica - Aula 06

    28/33

    Ponto Flutuante

    • Exercícios:

    • Considerando a representação de

    ponto flutuante em precisão simples

    abaixo, determine o valor armazenado

    • Byte 01: 0xBF

    • Byte 02: 0x40

    • Byte 03: 0x00

    • Byte 04: 0x00

  • 8/17/2019 Fundamentos da Informatica - Aula 06

    29/33

    Ponto Flutuante

    • Exercícios:

    • Considerando a representação de

    ponto flutuante em precisão simples

    abaixo, determine o valor armazenado

    • Byte 01: 0x42

    • Byte 02: 0x90

    • Byte 03: 0x00

    • Byte 04: 0x00

  • 8/17/2019 Fundamentos da Informatica - Aula 06

    30/33

    ATIVIDADE

  • 8/17/2019 Fundamentos da Informatica - Aula 06

    31/33

    Trabalho em duplas

    • Entrega dia 20/04

    • 1: Considere a notação de ponto

    flutuante 32 bits. Escreva 10 números

    em ponto flutuante e seus equivalentes

    em base 10.

    • 2: Responda as perguntas a seguir:

  • 8/17/2019 Fundamentos da Informatica - Aula 06

    32/33

    Trabalho em duplas

    • Responda as perguntas abaixo utilizando anotação científica para apresentar o valorresultante e a notação hexadecimal paraapresentar a codificação de pontoflutuante equivalente:

     – Qual o menor valor positivo que pode ser

    representado em precisão simples? – Qual o maior valor positivo que pode ser

    representado em precisão simples?

  • 8/17/2019 Fundamentos da Informatica - Aula 06

    33/33

    Trabalho em duplas

    • Responda as perguntas abaixo utilizando anotação científica para apresentar o valorresultante e a notação hexadecimal paraapresentar a codificação de pontoflutuante equivalente:

     – Qual o menor valor negativo que pode ser

    representado em precisão simples? – Qual o maior valor negativo que pode ser

    representado em precisão simples?