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