📘 Exercícios — Capítulo 1#

Introdução aos Computadores#

← Voltar


1.1 Sistemas de Numeração#

ExercĂ­cio 1.1#

Se a espĂ©cie humana tivesse evoluĂ­do para ter 8 dedos, como estarĂ­amos escrevendo os seguintes nĂșmeros?

  1. 12
  2. 100
  3. 1234
Ver solução

A ideia central é que, com 8 dedos, provavelmente teríamos desenvolvido um sistema de numeração de base 8 (octal), em vez do sistema decimal (base 10).

No sistema octal, os algarismos vĂŁo de 0 a 7. Assim, cada posição representa potĂȘncias de 8:

  • 80 = 1
  • 81 = 8
  • 82 = 64

Agora, convertemos os nĂșmeros decimais para base 8:


a) 12 (decimal)
12 Ă· 8 = 1 resto 4
→ 12 = 148

Resposta: 14


b) 100 (decimal)
100 Ă· 8 = 12 resto 4
12 Ă· 8 = 1 resto 4
→ 100 = 1448

Resposta: 144


c) 1234 (decimal)
1234 Ă· 8 = 154 resto 2
154 Ă· 8 = 19 resto 2
19 Ă· 8 = 2 resto 3
2 Ă· 8 = 0 resto 2
→ 1234 = 23228

Resposta: 2322

PotĂȘncias de 8:

  • 80 = 1
  • 81 = 8
  • 82 = 64
  • 83 = 512
  • 84 = 4096

ExercĂ­cio 1.2#

E se tivĂ©ssemos 12 dedos? Use A e B como sĂ­mbolos extras para escrever os nĂșmeros na nova base.

  1. 12
  2. 100
  3. 1234
Ver solução

Se a espécie humana tivesse evoluído com 12 dedos, provavelmente usaríamos um sistema de numeração de base 12 (duodecimal).

Nesse sistema, usamos os algarismos de 0 a 9 e mais dois sĂ­mbolos extras:

  • A = 10
  • B = 11

Cada posição representa potĂȘncias de 12:

  • 120 = 1
  • 121 = 12
  • 122 = 144

Agora, convertemos os nĂșmeros decimais para base 12:


a) 12 (decimal)
12 Ă· 12 = 1 resto 0
→ 12 = 1012

Resposta: 10


b) 100 (decimal)
100 Ă· 12 = 8 resto 4
→ 100 = 8412

Resposta: 84


c) 1234 (decimal)
1234 Ă· 12 = 102 resto 10 (A)
102 Ă· 12 = 8 resto 6
8 Ă· 12 = 0 resto 8
→ 1234 = 86A12

Resposta: 86A

PotĂȘncias de 12:

  • 120 = 1
  • 121 = 12
  • 122 = 144
  • 123 = 1728

1.2 NĂșmeros BinĂĄrios#

Para facilitar a visualização dos nĂșmeros binĂĄrios vamos agrupĂĄ-los a cada 4 dĂ­gitos. Assim, desta forma, o nĂșmero binĂĄrio 101010002 serĂĄ escrito como 1010 10002.

ExercĂ­cio 1.3#

Quantos nĂșmeros diferentes sĂŁo possĂ­veis com 10 bits? Quais sĂŁo o menor e o maior valor?

Ver solução

Um nĂșmero com 10 bits Ă© uma sequĂȘncia de 10 dĂ­gitos binĂĄrios, onde cada dĂ­gito pode ser 0 ou 1.

Quantidade de nĂșmeros possĂ­veis#

Cada bit tem 2 possibilidades. Portanto, o total de combinaçÔes é: 210 = 1024

Resposta: 1024 nĂșmeros diferentes.


Menor valor#

O menor nĂșmero ocorre quando todos os bits sĂŁo 0: 00 0000 00002 = 0

Resposta: 0


Maior valor#

O maior nĂșmero ocorre quando todos os bits sĂŁo 1: 11 1111 11112

Esse valor corresponde a: 210 − 1 = 1023

Resposta: 1023


ExercĂ­cio 1.4#

Converta os seguintes nĂșmeros decimais em binĂĄrio usando o menor nĂșmero de bits possĂ­vel.

  1. 1001
  2. 256
  3. 4095
  4. 545
Ver solução

Para cada nĂșmero, fazemos a conversĂŁo para binĂĄrio e usamos o menor nĂșmero de bits possĂ­vel (ou seja, sem zeros Ă  esquerda).


Para converter um nĂșmero decimal em binĂĄrio, fazemos divisĂ”es sucessivas por 2, anotando os restos. O nĂșmero binĂĄrio Ă© formado pela leitura dos restos de baixo para cima.


a) 1001 (decimal)
1001 Ă· 2 = 500 resto 1
500 Ă· 2 = 250 resto 0
250 Ă· 2 = 125 resto 0
125 Ă· 2 = 62 resto 1
62 Ă· 2 = 31 resto 0
31 Ă· 2 = 15 resto 1
15 Ă· 2 = 7 resto 1
7 Ă· 2 = 3 resto 1
3 Ă· 2 = 1 resto 1
1 Ă· 2 = 0 resto 1

→ 1001 = 11111010012

Resposta: 11 1110 1001


b) 256 (decimal)
256 Ă· 2 = 128 resto 0
128 Ă· 2 = 64 resto 0
64 Ă· 2 = 32 resto 0
32 Ă· 2 = 16 resto 0
16 Ă· 2 = 8 resto 0
8 Ă· 2 = 4 resto 0
4 Ă· 2 = 2 resto 0
2 Ă· 2 = 1 resto 0
1 Ă· 2 = 0 resto 1

→ 256 = 1000000002

Resposta: 1 0000 0000


c) 4095 (decimal)
4095 Ă· 2 = 2047 resto 1
2047 Ă· 2 = 1023 resto 1
1023 Ă· 2 = 511 resto 1
511 Ă· 2 = 255 resto 1
255 Ă· 2 = 127 resto 1
127 Ă· 2 = 63 resto 1
63 Ă· 2 = 31 resto 1
31 Ă· 2 = 15 resto 1
15 Ă· 2 = 7 resto 1
7 Ă· 2 = 3 resto 1
3 Ă· 2 = 1 resto 1
1 Ă· 2 = 0 resto 1

→ 4095 = 1111111111112

Resposta: 1111 1111 1111


d) 545 (decimal)
545 Ă· 2 = 272 resto 1
272 Ă· 2 = 136 resto 0
136 Ă· 2 = 68 resto 0
68 Ă· 2 = 34 resto 0
34 Ă· 2 = 17 resto 0
17 Ă· 2 = 8 resto 1
8 Ă· 2 = 4 resto 0
4 Ă· 2 = 2 resto 0
2 Ă· 2 = 1 resto 0
1 Ă· 2 = 0 resto 1

→ 545 = 10001000012

Resposta: 10 0010 0001


ExercĂ­cio 1.5#

Converta os seguintes nĂșmeros binĂĄrios em decimal.

  1. 11 0100 1101
  2. 1001 0010
  3. 1 0000
  4. 1 0001
Ver solução

Para converter um nĂșmero binĂĄrio em decimal, somamos as potĂȘncias de 2 correspondentes Ă s posiçÔes onde hĂĄ dĂ­gito 1.


a) 11010011012
= 1·29 + 1·28 + 0·27 + 1·26 + 0·25 + 0·24 + 1·23 + 1·22 + 0·21 + 1·20
= 512 + 256 + 64 + 8 + 4 + 1
= 845

Resposta: 845


b) 100100102
= 1·27 + 0·26 + 0·25 + 1·24 + 0·23 + 0·22 + 1·21 + 0·20
= 128 + 16 + 2
= 146

Resposta: 146


c) 100002
= 1·24
= 16

Resposta: 16


d) 100012
= 1·24 + 1·20
= 16 + 1
= 17

Resposta: 17


ExercĂ­cio 1.6#

Essa questĂŁo Ă© mais filosĂłfica que matemĂĄtica. Nesta seção afirmei que binĂĄrio tem mais a ver com a existĂȘncia ou nĂŁo de uma grandeza fĂ­sica do que com a comparação de opostos. Assim, ligado e nĂŁo ligado Ă© diferente de pensar em ligado e desligado; aceso e nĂŁo aceso Ă© diferente de aceso e apagado. Na realidade, se quisermos usar desligado, o par binĂĄrio seria nĂŁo desligado; no caso de apagado, seria nĂŁo apagado. Pense a respeito.

Ver solução

A ideia central Ă© que o sistema binĂĄrio nĂŁo representa, originalmente, dois estados opostos no sentido conceitual (como “ligado” versus “desligado”), mas sim a presença ou ausĂȘncia de uma grandeza fĂ­sica.

Em circuitos digitais, por exemplo, nĂŁo existe uma “essĂȘncia do desligado”. O que hĂĄ Ă©:

  • presença de tensĂŁo (nĂ­vel alto)
  • ausĂȘncia de tensĂŁo (nĂ­vel baixo)

Por isso, faz mais sentido interpretar os estados como:

  • “ligado” e “nĂŁo ligado”
  • “aceso” e “nĂŁo aceso”

e nĂŁo como pares simĂ©tricos como “ligado/desligado” ou “aceso/apagado”. Esses Ășltimos carregam uma interpretação linguĂ­stica de oposição, mas fisicamente o sistema distingue apenas se uma grandeza estĂĄ presente ou nĂŁo.

Essa perspectiva Ă© importante porque aproxima o conceito de nĂșmero binĂĄrio da sua implementação real: dispositivos eletrĂŽnicos detectam nĂ­veis (faixas de tensĂŁo), nĂŁo significados semĂąnticos.

Em resumo, o binårio é menos sobre dualidade filosófica e mais sobre detecção de estados físicos discretos.


1.3 Octal e Hexadecimal#

ExercĂ­cio 1.7#

Converta os seguintes nĂșmeros binĂĄrios em octais e hexadecimais.

  1. 1101001101
  2. 10010010
  3. 10000
  4. 110001111
  5. 1010111011110011
Ver solução

Para converter de binĂĄrio para octal e hexadecimal, agrupamos os bits:

  • Octal (base 8): grupos de 3 bits (da direita para a esquerda)
  • Hexadecimal (base 16): grupos de 4 bits (da direita para a esquerda)

Completamos com zeros Ă  esquerda, se necessĂĄrio.


a) 11010011012

Octal:
001 101 001 101
→ 1 5 1 5 → 15158

Hexadecimal:
0011 0100 1101
→ 3 4 D → 34D16


b) 100100102

Octal:
010 010 010
→ 2 2 2 → 2228

Hexadecimal:
1001 0010
→ 9 2 → 9216


c) 100002

Octal:
010 000
→ 2 0 → 208

Hexadecimal:
0001 0000
→ 1 0 → 1016


d) 1100011112

Octal:
110 001 111
→ 6 1 7 → 6178

Hexadecimal:
0001 1000 1111
→ 1 8 F → 18F16


e) 10101110111100112

Octal:
001 010 111 011 110 011
→ 1 2 7 3 6 3 → 1273638

Hexadecimal:
1010 1110 1111 0011
→ A E F 3 → AEF316


ExercĂ­cio 1.8#

Converta os seguintes nĂșmeros octais em binĂĄrios.

  1. 71
  2. 416
  3. 1110
  4. 756
  5. 1237
Ver solução

Para converter de octal para binĂĄrio, substituĂ­mos cada dĂ­gito octal por um grupo de 3 bits (pois 8 = 23):

0 → 000
1 → 001
2 → 010
3 → 011
4 → 100
5 → 101
6 → 110
7 → 111


a) 718
7 → 111
1 → 001
→ 1110012


b) 4168
4 → 100
1 → 001
6 → 110
→ 1000011102


c) 11108
1 → 001
1 → 001
1 → 001
0 → 000
→ 0010010010002
(Removendo zeros Ă  esquerda: 10010010002)


d) 7568
7 → 111
5 → 101
6 → 110
→ 1111011102


e) 12378
1 → 001
2 → 010
3 → 011
7 → 111
→ 0010100111112
(Removendo zeros Ă  esquerda: 10100111112)


ExercĂ­cio 1.9#

Converta os seguintes nĂșmeros hexadecimais em binĂĄrios.

  1. 71
  2. AB
  3. F810
  4. 1A
  5. AAB0
Ver solução

Para converter de hexadecimal para binĂĄrio, substituĂ­mos cada dĂ­gito hexadecimal por um grupo de 4 bits (pois 16 = 24):

0 → 0000
1 → 0001
2 → 0010
3 → 0011
4 → 0100
5 → 0101
6 → 0110
7 → 0111
8 → 1000
9 → 1001
A → 1010
B → 1011
C → 1100
D → 1101
E → 1110
F → 1111


a) 7116
7 → 0111
1 → 0001
→ 011100012
(Removendo zero Ă  esquerda: 111 00012)


b) AB16
A → 1010
B → 1011
→ 1010 10112


c) F81016
F → 1111
8 → 1000
1 → 0001
0 → 0000
→ 1111 1000 0001 00002


d) 1A16
1 → 0001
A → 1010
→ 000110102
(Removendo zeros Ă  esquerda: 1 10102)


e) AAB016
A → 1010
A → 1010
B → 1011
0 → 0000
→ 1010 1010 1011 00002


1.4 Kilo e Kibi#

ExercĂ­cio 1.10#

Seu provedor de Internet vende as velocidades de 15, 30, 50 e 100 Mbits/s. Calcule as velocidades em MiBits/s.

Ver solução

A diferença estå no prefixo:

  • Mbit (megabit) = 106 bits
  • Mibit (mebibit) = 220 bits = 1.048.576 bits

Para converter de Mbit/s para Mibit/s:

1 Mbit/s = 106 / 220 ≈ 0,9537 Mibit/s


a) 15 Mbit/s
15 × 0,9537 ≈ 14,31 Mibit/s


b) 30 Mbit/s
30 × 0,9537 ≈ 28,61 Mibit/s


c) 50 Mbit/s
50 × 0,9537 ≈ 47,68 Mibit/s


d) 100 Mbit/s
100 × 0,9537 ≈ 95,37 Mibit/s


Resumo#

Mbit/s Mibit/s
15 14,31
30 28,61
50 47,68
100 95,37

ExercĂ­cio 1.11#

VocĂȘ resolve comprar um disco externo para fazer cĂłpia de segurança de seus arquivos. Analisando os arquivos, vocĂȘ percebe que precisa de 1 TiB de armazenamento. Qual deve ser o tamanho mĂ­nimo do disco que vocĂȘ deve comprar, se o fabricante usa unidades do sistema mĂ©trico decimal para comercializar seus produtos?

Ver solução

O ponto central é a diferença entre os prefixos binårios e decimais:

  • 1 TiB (tebibyte) = 240 bytes = 1.099.511.627.776 bytes
  • 1 TB (terabyte) = 1012 bytes = 1.000.000.000.000 bytes

Queremos saber quantos TB (decimais) sĂŁo necessĂĄrios para armazenar 1 TiB:

1 TiB = 240 bytes ≈ 1,0995 × 1012 bytes
⇒ 1 TiB ≈ 1,0995 TB


ConclusĂŁo#

Para armazenar 1 TiB, vocĂȘ precisa de um disco de pelo menos 1,1 TB.

Na prĂĄtica, como os discos sĂŁo vendidos em tamanhos padronizados, o mĂ­nimo recomendado Ă©:

Resposta: um disco de 2 TB.


1.5 BinĂĄrio Sinalizado#

ExercĂ­cio 1.12#

Escreva o binário equivalente a –215 em sinal/valor, complemento a 1 e complemento a 2, usando 16 bits para a codificação.

Ver solução

Primeiro, representamos o valor absoluto em binĂĄrio com 16 bits.

215 (decimal):

215 Ă· 2 = 107 resto 1
107 Ă· 2 = 53 resto 1
53 Ă· 2 = 26 resto 1
26 Ă· 2 = 13 resto 0
13 Ă· 2 = 6 resto 1
6 Ă· 2 = 3 resto 0
3 Ă· 2 = 1 resto 1
1 Ă· 2 = 0 resto 1

→ 215 = 110101112

Com 16 bits:
0000 0000 1101 0111


a) Sinal e valor#

O bit mais significativo indica o sinal:

  • 0 → positivo
  • 1 → negativo

Mantemos o valor e colocamos sinal 1:

→ 1000 0000 1101 0111


b) Complemento a 1#

Invertemos todos os bits do valor positivo:

0000000011010111
→ 1111 1111 0010 1000


c) Complemento a 2#

Somamos 1 ao complemento a 1:

1111 1111 0010 1000
                + 1
-------------------
1111 1111 0010 1001

Resumo#

Representação Valor binårio
Sinal e valor 1000 0000 1101 0111
Complemento a 1 1111 1111 0010 1000
Complemento a 2 1111 1111 0010 1001

ExercĂ­cio 1.13#

Escreva o binårio equivalente a +215 em sinal/valor, complemento a 1 e complemento a 2, usando 16 bits para a codificação.

Ver solução

Primeiro, representamos o nĂșmero 215 em binĂĄrio com 16 bits.

215 (decimal):

215 Ă· 2 = 107 resto 1
107 Ă· 2 = 53 resto 1
53 Ă· 2 = 26 resto 1
26 Ă· 2 = 13 resto 0
13 Ă· 2 = 6 resto 1
6 Ă· 2 = 3 resto 0
3 Ă· 2 = 1 resto 1
1 Ă· 2 = 0 resto 1

→ 215 = 110101112

Com 16 bits:
0000 0000 1101 0111


a) Sinal e valor#

Para nĂșmeros positivos, o bit de sinal Ă© 0:

→ 0000 0000 1101 0111


b) Complemento a 1#

Para nĂșmeros positivos, a representação Ă© igual ao valor binĂĄrio:

→ 0000 0000 1101 0111


c) Complemento a 2#

TambĂ©m igual ao valor binĂĄrio para nĂșmeros positivos:

→ 0000 0000 1101 0111


Resumo#

Representação Valor binårio
Sinal e valor 0000 0000 1101 0111
Complemento a 1 0000 0000 1101 0111
Complemento a 2 0000 0000 1101 0111

Ou seja, nĂșmeros positivos tĂȘm a mesma representação nas trĂȘs codificaçÔes.


ExercĂ­cio 1.14#

Escreva o binĂĄrio equivalente a -215 em excesso–511. Qual o menor n possĂ­vel para escrever este nĂșmero? Quantos bits sĂŁo necessĂĄrios neste caso?

Ver solução

Na representação em excesso–N, somamos uma constante (viĂ©s) ao valor antes de convertĂȘ-lo para binĂĄrio.

Aqui, N = 511.


Passo 1: aplicar o viés#

Valor: −215

−215 + 511 = 296


Passo 2: converter 296 para binĂĄrio#

296 Ă· 2 = 148 resto 0
148 Ă· 2 = 74 resto 0
74 Ă· 2 = 37 resto 0
37 Ă· 2 = 18 resto 1
18 Ă· 2 = 9 resto 0
9 Ă· 2 = 4 resto 1
4 Ă· 2 = 2 resto 0
2 Ă· 2 = 1 resto 0
1 Ă· 2 = 0 resto 1

→ 296 = 1001010002


Resultado em excesso–511#

1 0010 1000


Representação de –215 no menor nĂșmero de bits#

Qual o menor n?#

Para representar –215 em complemento a 2, precisamos que o intervalo cubra esse valor.

Com n bits, o menor valor representĂĄvel Ă© -(2n-1-1) e o maior valor Ă© +2n-1.

Precisamos que:

-(2n-1-1) ≀ -215

Verificando:

27 - 1 = 127 < 215 ⇒ insuficiente

28 - 1 = 255 ≄ 215 ⇒ suficiente

N = 28 - 1 = 255.

Portanto N = 255.

Resumo#

  • Representação (excesso–511): 01 0010 10002
  • Menor N possĂ­vel: 255 (excesso-255)
  • NĂșmero mĂ­nimo de bits: 9

ExercĂ­cio 1.15#

Escreva os binĂĄrios equivalentes a 120 e a 8, usando 8 bits, e execute a soma desses nĂșmeros binĂĄrios. Dependendo da representação usada para nĂșmeros inteiros, essa soma vai causar o chamado transbordamento (overflow). Como interpretar esse resultado de acordo com as representaçÔes de nĂșmeros binĂĄrios negativos?

Ver solução

Primeiro, representamos os nĂșmeros com 8 bits.

ConversĂŁo para binĂĄrio#

120 (decimal):
120 = 0111 10002

8 (decimal):
8 = 0000 10002


Soma binĂĄria#

 0111 1000  
+0000 1000
----------
=1000 0000  

Resultado: 1000 00002


Interpretação do resultado#

O valor obtido depende da forma de interpretação dos nĂșmeros binĂĄrios:

1) Sem sinal (unsigned)#

100000002 = 128

Não há erro — o resultado está correto.


2) Sinal e valor#

O bit mais significativo indica o sinal:

  • 1 → nĂșmero negativo
  • valor = 0000000

Resultado: −0 (uma representação ambígua)

âžĄïž Aqui ocorre overflow, pois a soma de dois nĂșmeros positivos resultou em um valor negativo.


3) Complemento a 1#

Invertendo os bits para obter o valor:

10000000 → 01111111 = 127

Resultado: −127

âžĄïž TambĂ©m hĂĄ overflow, pois o resultado correto (128) estĂĄ fora do intervalo representĂĄvel (−127 a +127).


4) Complemento a 2#

Interpretando diretamente:

100000002 = −128

âžĄïž HĂĄ overflow, pois somamos dois nĂșmeros positivos e obtivemos um negativo.
O intervalo com 8 bits Ă© de −128 a +127, e 128 nĂŁo pode ser representado.


ConclusĂŁo#

  • A soma binĂĄria produz 100000002
  • O resultado correto (128) nĂŁo cabe em 8 bits com sinal
  • O comportamento varia conforme a representação:
    • unsigned: correto (128)
    • sinal/valor: −0 (inconsistĂȘncia)
    • complemento a 1: −127
    • complemento a 2: −128

âžĄïž Overflow ocorre quando o resultado matemĂĄtico nĂŁo pode ser representado com o nĂșmero de bits disponĂ­vel.


1.6 NĂșmeros Reais#

ExercĂ­cio 1.16#

Escreva os binĂĄrios equivalentes a –215,5 na notação com vĂ­rgula fixa. Qual o nĂșmero mĂ­nimo de bits necessĂĄrios?

Ver solução

Queremos representar −215,5 em notação de vírgula fixa. Primeiro, convertemos o valor absoluto.


Parte inteira (215)#

215 Ă· 2 = 107 resto 1
107 Ă· 2 = 53 resto 1
53 Ă· 2 = 26 resto 1
26 Ă· 2 = 13 resto 0
13 Ă· 2 = 6 resto 1
6 Ă· 2 = 3 resto 0
3 Ă· 2 = 1 resto 1
1 Ă· 2 = 0 resto 1

→ 215 = 110101112


Parte fracionĂĄria (0,5)#

0,5 × 2 = 1,0 → parte inteira 1

→ 0,5 = 0,12


Representação em binårio#

215,5 = 11010111,12


InclusĂŁo do sinal#

Usando sinal e valor:

→ −215,5 = 1 11010111,12


NĂșmero mĂ­nimo de bits#

  • Parte inteira: 8 bits
  • Parte fracionĂĄria: 1 bit
  • Sinal: 1 bit

Total: 10 bits


Resultado final#

1 11010111,12


Observação#

A notação de vírgula fixa exige definir previamente quantos bits são usados para a parte inteira e para a parte fracionåria. Aqui usamos o mínimo necessårio, mas em sistemas reais essa divisão é fixa (por exemplo, 16.16, 8.8 etc.).


ExercĂ­cio 1.17#

Escreva os binários equivalentes a –215,5 usando o padrão IEEE 754 para precisão simples e dupla.

Ver solução

Queremos representar −215,5 no padrão IEEE 754.


Passo 1: converter para binĂĄrio#

Parte inteira:
215 = 110101112

Parte fracionĂĄria:
0,5 = 0,12

→ 215,5 = 11010111,12


Passo 2: normalização#

11010111,12 = 1,101011112 × 27


Passo 3: sinal#

NĂșmero negativo → bit de sinal = 1


PrecisĂŁo simples (32 bits)#

  • Sinal: 1 bit
  • Expoente: 8 bits (viĂ©s = 127)
  • Mantissa: 23 bits

Expoente#

7 + 127 = 134
134 = 100001102

Mantissa#

Removendo o 1 implĂ­cito:
10101111 e completando com zeros:

10101111000000000000000


Resultado (32 bits)#

1 10000110 10101111000000000000000


PrecisĂŁo dupla (64 bits)#

  • Sinal: 1 bit
  • Expoente: 11 bits (viĂ©s = 1023)
  • Mantissa: 52 bits

Expoente#

7 + 1023 = 1030
1030 = 100000001102

Mantissa#

10101111 seguido de zeros até 52 bits:

1010111100000000000000000000000000000000000000000000


Resultado (64 bits)#

1 10000000110 1010111100000000000000000000000000000000000000000000


Observação#

Como 0,5 tem representação binĂĄria exata, o nĂșmero −215,5 Ă© representado sem erro de arredondamento em IEEE 754.


ExercĂ­cio 1.18#

Escreva os binĂĄrios equivalentes a 0,1 usando o padrĂŁo IEEE 754 para precisĂŁo simples e dupla.

Ver solução

Queremos representar 0,1 (decimal) no padrĂŁo IEEE 754.


Passo 1: converter para binĂĄrio#

MultiplicaçÔes sucessivas por 2:

0,1 × 2 = 0,2 → 0
0,2 × 2 = 0,4 → 0
0,4 × 2 = 0,8 → 0
0,8 × 2 = 1,6 → 1
0,6 × 2 = 1,2 → 1
0,2 × 2 = 0,4 → 0

→ padrão periódico:

0,1 = 0,00011001100110011…2


Passo 2: normalização#

0,0001100110011… = 1,1001100110011… × 2−4


Passo 3: sinal#

NĂșmero positivo → bit de sinal = 0


PrecisĂŁo simples (32 bits)#

  • Sinal: 1 bit
  • Expoente: 8 bits (viĂ©s = 127)
  • Mantissa: 23 bits

Expoente#

−4 + 127 = 123
123 = 011110112

Mantissa (com arredondamento)#

10011001100110011001101


Resultado (32 bits)#

0 01111011 10011001100110011001101


PrecisĂŁo dupla (64 bits)#

  • Sinal: 1 bit
  • Expoente: 11 bits (viĂ©s = 1023)
  • Mantissa: 52 bits

Expoente#

−4 + 1023 = 1019
1019 = 011111110112

Mantissa (com arredondamento)#

1001100110011001100110011001100110011001100110011001


Resultado (64 bits)#

0 01111111011 1001100110011001100110011001100110011001100110011001


Observação#

O nĂșmero 0,1 nĂŁo tem representação finita em binĂĄrio, resultando em uma dĂ­zima periĂłdica.
Por isso, IEEE 754 armazena uma aproximação, o que pode causar pequenos erros de precisão em cålculos.


Quer ir além?#

Se vocĂȘ quiser se desafiar com novos problemas, sem solução disponĂ­vel:

👉 Exercícios extras do Capítulo 1