Representações de Números

Transforme o número 101,10 da base binária para base decimal:

Solução: 1x2^2 + 0x2^1 + 1x2^0 + 1x2^-1 + 0x2^-2

4 + 0 + 1 + 0,5 + 0 = 5,5

E 2.4.1. Usando a representação complemento de dois de números inteiros com 8 bits, escreva o número decimal que corresponde aos seguintes barramentos:

a) [01100010] = (2^6 + 2^5 + 0 + 0 + 0 + 2^1 + 0) = 64 + 32 + 0 + 0 + 0 + 2 + 0 = 98

b) [00011101] = (0 + 0 + 2^4 + 2^3 + 2^2 + 0 + 2^0) = 0 + 0 + 16 + 8 + 4 + 0 + 1 = 29

c) [10000000] = -(0 + 0 + 0 + 0 + 0 + 0) = -0

d) [11100011] = -(2^6 + 2^5 + 0 + 0 + 0 + 2^1 + 2^0) = 64 + 32 + 0 + 0 + 0 + 2 + 1 = -99

e) [11111111] = -(2^6 + 2^5 + 2^4 + 2^3 + 2^2 + 2^1 + 2^0) = 64 + 32 + 16 + 8 + 4 + 2 + 1 = -127

Passe os números abaixo para a base decimal:

a) (310,21)4

b) (11010,01)2

c) (521,73)8

d) (C8E,A)16

Solução a) (310,21)4: 3*4^2 + 1*4^1 + 0*4^0 + 2*4^(-1) + 1*4^(-2)

48 + 4 + 0 + 0,5 + 0,0625 = 52,5625

Solução b) (11010,01)2: 1*2^4 + 1*2^3 + 0*2^2 + 1*2^1 + 0*2^0 + 0*2^(-1) + 1*2^(-2)

16 + 8 + 0 + 2 + 0 + 0 + 0,25 = 26,25

Solução c) (521,73)8: 5*8^2 + 2*8^1 + 1*8^0 + 7*8^(-1) + 3*8(-2)

320 + 16 + 1 + 0,875 + 0,046875 = 337,921875

Solução d) (C8E,A)16: 12*16^2 + 8*16^1 + 14*16^0 + 10*16^(-1)

3072 + 128 + 14 + 0,625 = 3214,625

E 2.4.1. Usando a representação complemento de dois de números inteiros com 8 bits, escreva o número decimal que corresponde aos seguintes barramentos:

a) [01100010] = (2^6 + 2^5 + 0 + 0 + 0 + 2^1 + 0) = 64 + 32 + 0 + 0 + 0 + 2 + 0 = 98

b) [00011101] = (0 + 0 + 2^4 + 2^3 + 2^2 + 0 + 2^0) = 0 + 0 + 16 + 8 + 4 + 0 + 1 = 29

c) [10000000] = -(0 + 0 + 0 + 0 + 0 + 0) = -0

d) [11100011] = -(2^6 + 2^5 + 0 + 0 + 0 + 2^1 + 2^0) = -(64 + 32 + 0 + 0 + 0 + 2 + 1) = -99

e) [11111111] = -(2^6 + 2^5 + 2^4 + 2^3 + 2^2 + 2^1 + 2^0) = -(64 + 32 + 16 + 8 + 4 + 2 + 1) = -127


Converta os seguintes números hexadecimais para a base decimal:

a) B57A2

b) D8B8A

Solução a: 11*16^4 + 5*16^3 + 7*16^2 + 10*16^1 + 2*16^0

720896 + 20480 + 1792 + 160 + 2 = 743330

Solução b: 13*16^4 + 8*16^3 + 11*16^2 + 8*16^1 + 10*16^0

851968 + 32768 +2816 + 128 + 10 = 887690


E 2.4.2 Usando a representação complemento de dois de números inteiros com 16 bits, escreva o número decimal que corresponde aos seguintes barramentos:

a) [0110001001100010].

b) [0001110100011101].

c) [1110001011100011].

d) [1111111111111111].

Resposta

a) -0 x 215 + (110001001100010)2 = 0 + 214 + 213 + 29 + 26 + 25 + + 21 = 16384 + 8192 + 512 + 64 + 32 + 2 = 25186

b) -0 x 215 + (001110100011101)2 = 0 + 212 + 211 + 210 + 28 + 24 + 23 + 22 + 20 = 4096 + 2048 + 1024 + 256 + 16 + 8 + 4 + 1 = 7453

c) -1 x 215 + (110001011100011)2 = -32768 + 214 + 213 + 29 + 27 + 26 + 25 + 21 + 20 = -32768 + 16384 + 8192 + 512 + 128 + 64 + 32 + 2 + 1 = -7453

d) -1 x 215 + (111111111111111)2 = -32768 + 214 + 213 + 212 + 211 + 210 + 29 + 28 + 27 + 26 + 25 + 24 + 23 + 22 + 21 + 20 = -32768 + 16384 + 8192 + 4096 + 2048 + 1024 + 512 + 256 + 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = -1

Pergunta: Usando complemento de dois escreva o número decimal que corresponde aos seguintes números:

a) [01000110]

b) [00101001]

a) [10100001]

Resposta:

a) -0 x 27 + (1000110)2 = 0 + 26 + 22 + 21 = 64 + 4 + 2 = 70

b) -0 x 27 + (0101001)2 = 0 + 25 + 23 + 20 = 0 + 32 + 8 + 1 = 41

c) -1 x 27 + (0100001)2 = -128 + 25 + 20 = -128 + 32 + 1 = -95


E 2.4.3. Usando a representação complemento de dois de números inteiros com 8 bits no GNU Octave, escreva o número decimal que corresponde aos seguintes barramentos:

a) [01100010] = bitpack(logical([0 1 1 0 0 0 1 0]),'int8')

ans = 70

b) [00011101] = bitpack(logical([0 0 0 1 1 1 0 1]),'int8')

ans = -72

c) [00010010] = bitpack(logical([0 0 0 1 0 0 1 0]),'int8')

ans = 72


Utilizando o GNU Octave e a representação complemento de dois, escreva o barramento de 16 bits que corresponde a cada um dos seguintes números inteiros:

a) 17990.

Resolução:

>> bitunpack(int16(17990))

ans =

  0  1  1  0  0  0  1  0  0  1  1  0  0  0  1  0

b) -18248.

Resolução:

>> bitunpack(int16(-18248))

ans =

  0  0  0  1  1  1  0  1  0  0  0  1  1  1  0  1

c) 18248

Resolução:

>> bitunpack(int16(18248))

ans =

  0  0  0  1  0  0  1  0  1  1  1  0  0  0  1  0


E 2.4.4. Usando a representação complemento de dois de números inteiros com 16 bits no GNU Octave, escreva o número decimal que corresponde aos seguintes barramentos:

a) [0110001001100010].

Resolução:

>> bitpack(logical([0 1 1 0 0 0 1 0 0 1 1 0 0 0 1 0]), "int16")

ans = 17990

b) [0001110100011101].

Resolução:

>> bitpack(logical([0 0 0 1 1 1 0 1 0 0 0 1 1 1 0 1]), "int16")

ans = -18248

c) [0001001011100010].

Resolução:

>> bitpack(logical([0 0 0 1 0 0 1 0 1 1 1 0 0 0 1 0]), "int16")

ans = 18248


E 2.4.6. Explique a diferença entre o sistema de ponto fixo e ponto flutuante.

Resposta: O sistema de ponto fixo é caracterizado por um número específico de bits com uma quantidade fixa de dígitos, já o sistema de ponto flutuante não reserva um número específico de bits e funciona a partir da reserva de uma quantidade de bits para o número e outro número de bits que é utilizado para dizer onde está a casa decimal, conhecida como expoente.


E 2.5.2. Arredonde os seguintes números para cinco algarismos significativos:

para realizar o arredondamento usamos o numero 5 como base, abaixo de 5 o numero volta a ser 0, acima ele soma ate virar 10

( exemplo 5.9, é maior que 5.5, então somara ate virar 10 5.9 + 0.1 = 6.0 )

a) 1,7888544

1,7888544 seu arredondamento é 1,7889

b) 1788,8544

1788,8544 seu arredondamento é 1788,9

c) 0,0017888544

0,0017888544 seu arredondamento é 0,0018

d) 0,004596632

0,004596632 seu arredondamento é 0,0046

e) 2,1754999 × 10−10

21.754.999e11 seu arredondamento é 21.755


E 2.5.5. Resolva a equação 0,1x − 0,01 = 12 usando arredondamento com três dígitos significativos em cada passo e compare com o resultado exato.

Resolução:

0,1x - 0,01 = 12 (2,85)

0,1x = 0,01 + 12 (2,86)

0,1x = 12,01

x = 12,01 / 0,1

x = 120,1 (2,87)


Converter o binário 101,10 para sistema decimal:

Solução: (1 × 2^3) + (0 × 2^2) + (0 × 2^1) + (0 × 2^0) + (0 × 2^-1) + (1 × 2^-2) = 8,25


Converta os seguintes valores para suas determinadas bases.

a) [01100011] base 10

Resolução: (2^6 + 2^5 + 2^1 + 2^0) = 64 + 32 + 0 + 0 + 0 + 2 + 1 = 99


b) 246 base 8

Resolução: 366

246 |__8__

6 30 |__8__

6 3


c) [000011111] base 8

Resolução : 37

000 -> 0

011 -> 3

111 -> 7


d) 35 base 2

Resolução: 100011

35 |__2__

1 17 |__2__

1 8 |__2__

0 4 |__2__

0 2 |__2__

0 1

e) 47 base 16

Resolução: 1B6

438 |__16__

6 27 |__16__

11 1