Considere o sistema de números de ponto flutuante F=F(2,8,-62,63) e a função de arredondamento a: G F(2,8,-62,63) por falta.
Calcule a representação dos seguintes números em ponto flutuante, i.e., a(x), quando x assume os seguintes valores:
a) 265
b) 12,5
c) -445,25
d) -0,1
e) -12,8 f) 2500,05

Passo 1

Beleza, aqui a gente tem um sistema de ponto flutuante
— ou seja:
  • base
  • mantissa com dígitos binários (inclusive o “1.” inicial)
  • expoentes variam de até
  • e o método de arredondamento é “por falta” (chopping), ou seja, a gente só corta os bits além do limite sem arredondar.
Para cada número a gente vai:
  1. passar pra binário puro;
  2. normalizar em forma ;
  3. cortar a mantissa pra ter só 8 bits totais (1 antes do ponto + 7 depois);
  4. esse resultado é .

Passo 2

(a) 26510 = 1000010012
  1. Converter pra binário: 1000010012 = 1.000010012 times 2^8
  2. Normalizar em notação científica binária: 1underbrace00001007 bits times 2^8
  3. Mantissa tem que ter só 8 bits no total (1 antes do ponto + 7 depois). No instante, temos 1 bit “1.” + 8 bits “00001001”. Aí a gente chopa pra caber: a(265) = ;+;1.00001002times2^8
  4. Logo

Passo 3

(b) 12.510 = 1100.12
  1. Em binário: 1100.12 = 1.10012 times 2^3
  2. Normalizando: 1underbrace10010007 bits times 2^3
  3. Temos “1.1001” + zeros infinitos, mas só cabe 7 bits depois do ponto: a(12.5) = ;+;1.10010002times2^3
  4. Então

Passo 4

© 44510=1101111012, 0.2510=0.012
  1. Parte inteira: 110111101.012 = 1.10111101012times2^8 Então 1underbrace10111107 bits times2^8 .
  2. Normaliza: a(-445.25) = -,1.10111102times2^8
  3. Mantissa (1 + 8 bits) → chopa pra 1 + 7 bits:
  4. Como é negativo:

Passo 5

(d) 0.110=0.0001100110011ldots2
  1. 0.0001100110011ldots2 = 1.100110011ldots2 times2^-4 em binário é periódico: 1underbrace10011007 bits times2^-4
  2. Normalizando pra começar com 1.: a(-0.1) = -,1.10011002times2^-4
  3. Mantissa chopada (1 + 7 bits):
  4. Com sinal:

Passo 6

(e) 1100.11001100ldots2 = 1.10011001100ldots2 times2^3
  1. 1underbrace10011007 bits times2^3 → parte inteira a(-12.8) = -,1.10011002times2^3 , parte fracionária .
    Então
  2. Normalizando:
  3. Chop mantissa pra 7 bits depois do ponto:
  4. Com sinal negativo:

Passo 7

(f) =1.001110001000000110011ldots2 times2^11
  1. 1underbrace00111007 bits times2^11 .
    a(2500.05) = +,1.00111002times2^11 .
    Logo
  2. Normaliza:
  3. Chop mantissa (1+7 bits):
  4. Sinal positivo:

Resposta

a)
b)
c)
d)
e)
f)

Exercícios relacionados