Prévia do material em texto
Alcides Tiago Medeiros Dantas
Lista de Exercícios 1 – Sistemas de Numeração
1. Mostre as quantidades dos objetos na figura abaixo escrito em diversos sistemas de
numeração.
a) Decimal = 12
b) Hexadecimal = C
c) Octal = 14
d) Binário = 1100
2. Mostre as quantidades dos objetos na figura abaixo escrito em diversos sistemas de
numeração.
a) Decimal = 22
b) Hexadecimal = 16
c) Octal = 26
d) Binário = 10110
3. Represente em decimal as seguintes quantidades expressas em outras bases
a. 01101101102 = 438
b. 231238 = 9811
c. Afafh = 44975
d. 110118 = 4617
e. 0x1011 = 4113
4. Represente em binário as seguintes quantidades expressas em outras bases
a. 232 = 11101000
b. 3428 = 11100010
c. 101116 = 1000000010001
d. A1Fh = 101000011111
5. Represente em octal as seguintes quantidades expressas em outras bases
a. 232 = 350
b. 100111012 = 235
c. fah = 372
d. 0xafee = 127756
e. 32124 = 346
6. Represente em hexadecimal as seguintes quantidades expressas em outras bases
a. 10011011102
R: O valor de partida acima é de base 2, e para chegar na base 16, deve-se elevar
o 2 a quatro.
Deve-se então agrupar o número binário de 4 em 4, ficando da seguinte forma (já
com as devidas potências acima de cada dígito e com os zeros a esquerda
acrescentados):
08041201 08141201 18141201
Somando os valores acima dos dígitos “1” em cada agrupamento e juntando-os
depois, temos como valor final em hexadecimal:
26E
b. 10110
R: Deve-se dividir sucessivamente o valor decimal acima por 16 para chegar em
hexadecimal:
10110 / 16 = 631 --> resto 14
631 / 16 = 39 -------> resto 7
39 / 16 = 2 ----------> resto 7
2 / 16 = 0 ------------> resto 2
De baixo para cima, temos em hexadecimal: 277E
c. 1001104
R: 100110 para decimal: 0.40 + 1.4¹ + 1.4² + 0.4³ + 0.44 + 1.45
R: 4 + 16 + 1024
R: 1044
Agora a conversão de decimal para hexadecimal:
1044 / 16 = 65 -> resto 4
65 / 16 = 4 ------> resto 1
4 / 16 = 0 --------> resto 4
De baixo para cima, temos em hexadecimal: 414
d. 1101101108
R: 110110110 para decimal: 0.80 + 1.8¹ + 1.8² + 0.8³ + 1.84 + 1.85 + 0.86 + 1.87 +
1.88
R: 8 + 64 + 4096 + 32768 + 2097152 + 16777216
R: 18911304
Agora a conversão de decimal para hexadecimal:
18911304 / 16 = 1181956 --> resto 8
1181956 / 16 = 73872 -------> resto 4
73872 / 16 = 4617 ------------> resto 0
4617 / 16 = 288 ---------------> resto 9
288 / 16 = 18 -------------------> resto 0
18 / 16 = 1 ----------------------> resto 2
1 / 16 = 0 ------------------------> resto 1
De baixo para cima, temos em hexadecimal: 1209048
e. 1101013
R: 110101 para decimal: 1.30 + 0.3¹ + 1.3² + 0.3³ + 1.34 + 1.35
R: 1 + 9 + 81 + 243
R: 334
Agora a conversão de decimal para hexadecimal:
334 / 16 = 20 ----> resto 14
20 / 16 = 1 -------> resto 4
1 / 16 = 0 ---------> resto 1
De baixo para cima, temos em hexadecimal: 14E
7. Um sistema binário de numeração utiliza os símbolos α e β para representar as
quantidades 0 e 1, respectivamente. Escreva o número ααβαβββαββαβα representado
nesse sistema binário de numeração nos sistemas a seguir apresentados
a. Octal
Nº binário de partida: 0010111011010
R: O valor de partida acima é de base 2, e para chegar na base 8, deve-se elevar o
2 a três.
R: 2³ = 8 -> Logo, deve-se agrupar o valor binário de 3 em 3, ficando da seguinte
forma (já com as devidas potências acima de cada dígito e com os zeros a
esquerda acrescentados):
040201 041201 141211 041211 041201
Somando os valores acima dos dígitos “1” em cada agrupamento e juntando-os
depois, temos como valor final em octal:
2732
b. Hexadecimal
Nº binário de partida: 0010111011010
R: O valor de partida acima é de base 2, e para chegar na base 16, deve-se elevar
o 2 a quatro.
R: 24 = 16 -> Logo, deve-se agrupar o valor binário de 4em 4, ficando da seguinte
forma (já com as devidas potências acima de cada dígito e com os zeros a
esquerda acrescentados):
08040201 08140211 18140211 18041201
Somando os valores acima dos dígitos “1” em cada agrupamento e juntando-os
depois, temos como valor final em octal:
5 13 10 OU 5DA
c. Binário com símbolos (0 e 1):
α – α – β – α – β – β – β – α – β – β – α - β - α
0 – 0 – 1 – 0 – 1 – 1 – 1 – 0 – 1 – 1 – 0 – 1 – 0
d. Decimal:
R: 0010111011010 para decimal:
R: 1.2¹ + 1.2³ + 1.24 + 1.26 + 1.27 + 1.28 + 1.210
R: 90 + 128 + 256 + 1024
R: 1498
8. Um sistema decimal de numeração tem seu alfabeto escrito na seguinte ordem {0, 1,
2, 3, 4, 6, 5, 8, 7, 9}, representando as quantidades crescente de 0 a 9,
respectivamente. Nesse caso os valores a seguir expressos, representados em outras
bases numéricas, quando escritos nesse sistema decimal valem
a. fdah
R: 10.160 + 13.16¹ + 15.16²
R: 10 + 208 + 3840
R: 4058 (sistema decimal tradicional)
R: 4067 (sistema decimal fornecido na questão)
b. 2638
R: 3.80 + 6.8¹ + 2.8²
R: 3 + 48 + 128
R: 179 (sistema decimal tradicional)
R: 189 (sistema decimal fornecido na questão)
c. 1101102
R: 0.20 + 1.2¹ + 1.2² + 0.2³ + 1.24 + 1.25
R: 2 + 4 + 16 + 32
R: 54 (sistema decimal tradicional)
R: 64 (sistema decimal fornecido na questão)
d. 0x32
R: 2.160 + 3.16¹
R: 2 + 48
R: 50 (sistema decimal tradicional)
R: 60 (sistema decimal fornecido na questão)
9. Represente nas bases a seguir o valor 10111011011010101101110112.
a. Base 4
R: 22 = 4 -> Logo, deve-se agrupar o valor binário de 2 em 2, ficando da seguinte
forma (já com as devidas potências acima de cada dígito e com o zero a esquerda
acrescentado):
R: 0211 0211 1211 0211 1201 1211 0211 0211 0211 1201 1211 1201 1211
R: Somando os valores acima dos dígitos “1” em cada agrupamento e juntando-
os depois, temos como valor final na base 4:
1 1 3 1 2 3 1 1 1 2 3 2 3
=
1131231112323
b. Base 8
R: 23 = 8 -> Logo, deve-se agrupar o valor binário de 3 em 3, ficando da seguinte
forma (já com as devidas potências acima de cada dígito e com o zero a esquerda
acrescentado):
R: 040211 041211 140211 140211 140211 041201 141201 141211 041211
R: Somando os valores acima dos dígitos “1” em cada agrupamento e juntando-
os depois, temos como valor final na base octal:
1 3 5 5 5 2 6 7 3
=
135552673
c. Base 16
R: 24 = 16 -> Logo, deve-se agrupar o valor binário de 4 em 4, ficando da seguinte
forma (já com as devidas potências acima de cada dígito e com os zeros a
esquerda acrescentados):
R: 08040211 08141211 08141201 18140211 08140211 18041211 18041211
R: Somando os valores acima dos dígitos “1” em cada agrupamento e juntando-
os depois, temos como valor final na base 16:
1 7 6 13 5 11 11
OU
176D5BB
d. Base 32
R: 25 = 32 -> Logo, deve-se agrupar o valor binário de 5 em 5, ficando da seguinte
forma (já com as devidas potências acima de cada dígito):
R: 11608141211 01618140211 11608140211 01618140211 11618041211
R: Somando os valores acima dos dígitos “1” em cada agrupamento e juntando-
os depois, temos como valor final no alfabeto da base 32 estabelecido abaixo:
23 13 21 13 27
=
XNVNb
10. Represente nas bases a seguir o valor 10201020201020220210120220111022011023.
a. Base 9
R: 32 = 9 -> Logo, deve-se agrupar o valor de 2 em 2, ficando da seguinte forma
(já com as devidas potências e com o zero a esquerda acrescentado):
R: 0311 + 0321 + 0311 + 0321 + 0321 + 0311 + 0321 + 0321 + 2301 + 2311 + 0311 + 2301 +
2321 + 0311 + 1311 + 0321 + 2301 + 1311 + 0321
R: Em cada agrupamento, ao multiplicar cada número pelo seu expoente e somar
o resultado como valor obtido dessa mesmo operação com o colega ao lado do
mesmo agrupamento, e depois disso juntando lado a lado cada resultado dessas
operações com os resultados dos demais agrupamentos, obtemos como
resultado final na base 9:
1 2 1 2 2 1 2 2 6 7 1 6 8 1 4 2 6 4 2
=
1212212267168142642
b. Base 27
R: 33 = 27 -> Logo, deve-se agrupar o valor de 3 em 3, ficando da seguinte forma
(já com as devidas potências e com os zeros a esquerda acrescentados):
R: 090311 092301 190321 092301 190321 092321 092311 091321 092321 091311 190321
290311 190321
R: Em cada agrupamento, ao multiplicar cada número pelo seu expoente e somar
o resultado com os valores obtidos dessa mesmo operação com os colegas ao
lado do mesmo agrupamento, e depois disso juntando lado a lado cada resultado
dessas operações com os resultados dos demais agrupamentos, obtemos como
resultado final usando o alfabeto da base 27 definido abaixo:
1 6 11 6 11 8 7 5 8 4 11 19 11
=
16B6B87584BJB
Valor Representação
0 A
1 B
2 C
3 D
4 E
5 F
6 G
7 H
8 I
9 J
10 K
11 L
12 M
13 N
14 O
15 P
16 Q
Valor Representação
17 R
18 S
19 T
20 U
21 V
22 W
23 X
24 Y
25 Z
26 a
27 b
28 c
29 d
30 e
31 f
c. Base 81
R: 34 = 81 -> Logo, deve-se agrupar o valor de 4 em 4, ficando da seguinte forma
(já com as devidas potências e com os zeros a esquerda acrescentados):
R: 027090311 027290311 027290321 027190321 027292301 227190311 227092321
027191311 027292301 127190321
R: Em cada agrupamento, ao multiplicar cada número pelo seu expoente e somar
o resultado com os valores obtidos dessa mesmo operação com os colegas ao
lado do mesmo agrupamento, e depois disso juntando lado a lado cada resultado
dessas operações com os resultados dos demais agrupamentos, obtemos como
resultado final no alfabeto da base 81 definido abaixo:
1 19 20 11 24 64 62 13 24 38
=
1JKBO+*DOc
Valor Representação
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 A
11 B
12 C
13 D
14 E
Valor Representação
15 F
16 G
17 H
18 I
19 J
20 K
21 L
22 M
23 N
24 O
25 P
26 Q
Valor Representação
65 =
66 @
67 #
68 !
69 %
70 $
71 [
72 ]
73 ~
74 ;
75 {
76 }
77 ¬
78 “
79 <
80 >
Valor Representação
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 A
11 B
12 C
13 D
14 E
15 F
16 G
17 H
18 I
19 J
20 K
21 L
Valor Representação
44 i
45 j
46 k
47 l
48 m
49 n
50 o
51 p
52 q
53 r
54 s
55 t
56 u
57 v
58 w
59 x
60 y
61 z
62 *
63 /
64 +
65 -
Valor Representação
22 M
23 N
24 O
25 P
26 Q
27 R
28 S
29 T
30 U
31 V
32 W
33 X
34 Y
35 Z
36 a
37 b
38 c
39 d
40 e
41 f
42 g
43 h
11. Quantos algarismos são necessários para representar o número 937163832173947 em
base binária? E em base 7?
Em base binária:
937163832173947 / 2 = 468.581.916.086.973 -------> resto 1 (nº 50)
468.581.916.086.973 / 2 = 234.290.958.043.486 ----> resto 1 (nº 49)
234.290.958.043.486 / 2 = 117.145.479.021.743 ----> resto 0 (nº 48)
117.145.479.021.743 / 2 = 58.572.739.510.871 ------> resto 1 (nº 47)
58.572.739.510.871 / 2 = 29.286.369.755.435 --------> resto 1 (nº 46)
29.286.369.755.435 / 2 = 14.643.184.877.717 --------> resto 1 (nº 45)
14.643.184.877.717 / 2 = 7.321.592.438.858 ----------> resto 1 (nº 44)
7.321.592.438.858 / 2 = 3.660.796.219.429 ------------> resto 0 (nº 43)
3.660.796.219.429 / 2 = 1.830.398.109.714 ------------> resto 1 (nº 42)
1.830.398.109.714 / 2 = 915.199.054.857 ---------------> resto 0 (nº 41)
915.199.054.857 / 2 = 457.599.527.428 ------------------> resto 1 (nº 40)
457.599.527.428 / 2 = 228.799.763.714 ------------------> resto 0 (nº 39)
228.799.763.714 / 2 = 114.399.881.857 ------------------> resto 0 (nº 38)
114.399.881.857 / 2 = 57.199.940.928 --------------------> resto 1 (nº 37)
57.199.940.928 / 2 = 28.599.970.464 ----------------------> resto 0 (nº 36)
28.599.970.464 / 2 = 14.299.985.232 ----------------------> resto 0 (nº 35)
14.299.985.232 / 2 = 7.149.992.616 ------------------> resto 0 (nº 34)
7.149.992.616 / 2 = 3.574.996.308 --------------------> resto 0 (nº 33)
3.574.996.308 / 2 = 1.787.498.154 ---------------------> resto 0 (nº 32)
1.787.498.154 / 2 = 893.749.077 ------------------------> resto 0 (nº 31)
893.749.077 / 2 = 446.874.538 ---------------------------> resto 1 (nº 30)
446.874.538 / 2 = 223.437.269 ---------------------------> resto 0 (nº 29)
223.437.269 / 2 = 111.718.634 ---------------------------> resto 1 (nº 28)
111.718.634 / 2 = 55.859.317 -----------------------------> resto 0 (nº 27)
55.859.317 / 2 = 27.929.658 ------------------------------> resto 1 (nº 26)
27.929.658 / 2 = 13.964.829 ------------------------------> resto 0 (nº 25)
13.964.829 / 2 = 6.982.414 -------------------------------> resto 1 (nº 24)
6.982.414 / 2 = 3.491.207 ---------------------------------> resto 0 (nº 23)
3.491.207 / 2 = 1.745.603 ---------------------------------> resto 1 (nº 22)
1.745.603 / 2 = 872.801 ------------------------------------> resto 1 (nº 21)
872.801 / 2 = 436.400 --------------------------------------> resto 1 (nº 20)
436.400 / 2 = 218.200 --------------------------------------> resto 0 (nº 19)
218.200 / 2 = 109.100 --------------------------------------> resto 0 (nº 18)
109.100 / 2 = 54.550 ----------------------------------------> resto 0 (nº 17)
54.550 / 2 = 27.275 ------------------------------------------> resto 0 (nº 16)
27.275 / 2 = 13.637 ------------------------------------------> resto 1 (nº 15)
13.637 / 2 = 6.818 --------------------------------------------> resto 1 (nº 14)
6.818 / 2 = 3.409 ---------------------------------------------> resto 0 (nº 13)
3.409 / 2 = 1.704 ---------------------------------------------> resto 1 (nº 12)
1.704 / 2 = 852 ------------------------------------------------> resto 0 (nº 11)
852 / 2 = 426 ---------------------------------------------------> resto 0 (nº 10)
426 / 2 = 213 ---------------------------------------------------> resto 0 (nº 9)
213 / 2 = 106 ---------------------------------------------------> resto 1 (nº 8)
106 / 2 = 53 -----------------------------------------------------> resto 0 (nº 7)
53 / 2 = 26 -------------------------------------------------------> resto 1 (nº 6)
26 / 2 = 13 -------------------------------------------------------> resto 0 (nº 5)
13 / 2 = 6 ---------------------------------------------------------> resto 1 (nº 4)
6 / 2 = 3 -----------------------------------------------------------> resto 0 (nº 3)
3 / 2 = 1 -----------------------------------------------------------> resto 1 (nº 2)
1 / 2 = 0 -----------------------------------------------------------> resto 1 (nº 1)
R: São necessários 50 algarismos para representar o número 937163832173947 em
base binária
Em base 7:
937163832173947 / 7 = 133.880.547.453.421 -------> resto 0 (nº 18)
133.880.547.453.421 / 7 = 19.125.792.493.345 -----> resto 6 (nº 17)
19.125.792.493.345 / 7 = 2.732.256.070.477 --------> resto 6 (nº 16)
2.732.256.070.477 / 7 = 390.322.295.782 ------------> resto 3 (nº 15)
390.322.295.782 / 7 = 55.760.327.968 ----------------> resto 6 (nº 14)
55.760.327.968 / 7 = 7.965.761.138 --------------------> resto 2 (nº 13)
7.965.761.138 / 7 = 1.137.965.876 ----------------------> resto 6 (nº 12)
1.137.965.876 / 7 = 162.566.553 ------------------------> resto 5 (nº 11)
162.566.553 / 7 = 23.223.793 ----------------------------> resto 2 (nº 10)
23.223.793 / 7 = 3.317.684 -------------------------------> resto 5 (nº 9)
3.317.684 / 7 = 473.954 -----------------------------------> resto 6 (nº 8)
473.954 / 7 = 67.707 ---------------------------------------> resto 5 (nº 7)
67.707 / 7 = 9.672 ------------------------------------------>resto 3 (nº 6)
9.672 / 7 = 1.381 --------------------------------------------> resto 5 (nº 5)
1.381 / 7 = 197 ----------------------------------------------> resto 2 (nº 4)
197 / 7 = 28 --------------------------------------------------> resto 1 (nº 3)
28 / 7 = 4 -----------------------------------------------------> resto 0 (nº 2)
4 / 7 = 0 -------------------------------------------------------> resto 4 (nº 1)
R: São necessários 18 algarismos para representar o número 937163832173947 em
base 7
12. (Questão 23 – Petrobrás – Analista de Sistemas Júnior – Engenharia de Software – ano
2010) Quantos números hexadecimais com três algarismos distintos existem cujo valor
é maior do que o número hexadecimal 100?
R: Consideremos _ _ _ as 3 lacunas de algarismos. Já que o problema forneceu que cada
algarismo precisa ser distinto, as possibilidades de preeenchimento de cada lacuna irá
diminuir de uma lacuna para a outra.
i. A priori seria possível ter 16 possibilidades de algarismos para a primeira lacuna (já
que o sistema hexadecimal possui 16 algarismos), porém como o problema informa
que o valor precisa ser maior do que o número hexadecimal 100 (256 em decimal),
não podemos ter o algarismo zero ocupando a primeira posição, pois aí teríamos um
valor abaixo do hexadecimal 100 (099 por exemplo, que é 153 em decimal). Sendo
assim, nos resta 15 possibilidades para a primeira lacuna.
ii. A priori, a lacuna do meio poderia receber 16 possibilidades de algarismos, mas já
que uma das possibilidades foi usada na primeira lacuna, nos resta 15 possibilidades
para a segunda lacuna.
iii. Já que duas possibilidades foram usadas nas outras duas lacunas anteriores, resta 14
possibilidades para a terceira e última lacuna.
iv. Por último, basta multiplicar os três valores de possibilidades de cada lacuna para
obter a quantidade de números hexadecimais com três algarismos distintos cujo valor
é maior do que o número hexadecimal 100.
v. R: 15.15.14 = 3150 possibilidades.
13. O sistema de numeração binário é utilizado em computadores modernos para
armazenar todo os tipos de dados. Por exemplo, para armazenar a letra A (a em
maiúsculo) usamos uma sequência de 8 bits (1 byte) 010000012. A padronização
desses símbolos para o binário pode ser vista em uma tabela ASCII (faça uma busca na
Internet por esse termo). Imagine agora que existe um canal de transmissão de stream
de bits, que só admita o seguinte conjunto de caracteres: [a-z][A-Z][0-9][+][/] e usa
uma codificação diferente:
Value Encoding Value Encoding Value Encoding Value Encoding
0 A 17 R 34 i 51 z
1 B 18 S 35 j 52 0
2 C 19 T 36 k 53 1
3 D 20 U 37 l 54 2
4 E 21 V 38 m 55 3
5 F 22 W 39 n 56 4
6 G 23 X 40 o 57 5
7 H 24 Y 41 p 58 6
8 I 25 Z 42 q 59 7
9 J 26 a 43 r 60 8
10 K 27 b 44 s 61 9
11 L 28 c 45 t 62 +
12 M 29 d 46 u 63 /
13 N 30 e 47 v
14 O 31 f 48 w
15 P 32 g 49 x
16 Q 33 h 50 y
De posse desses dados, crie uma forma de transmitir a frase SISTEMAS DIGITAIS foi a
melhor disciplina do primeiro semestre de TADS por esse canal. Como estaria essa
frase codificada?
Resposta:
18 8 18 19 4 12 0 18 SISTEMAS
3 8 6 8 19 0 8 18 DIGITAIS
31 40 34 foi
26 a
38 30 37 33 40 43 melhor
29 34 44 28 34 41 37 34 39 26 disciplina
29 40 do
41 43 34 38 30 34 43 40 primeiro
44 30 38 30 44 45 43 30 semestre
29 30 de
19 0 3 18 TADS
Obs: a mesma frase agora codificada em binário pela tabela ASCII é:
01010011 01001001 01010011 01010100 01000101 01001101 01000001 01010011 SISTEMAS
00100000 (espaço em branco)
01000100 01001001 01000111 01001001 01010100 01000001 01001001 01010011 DIGITAIS
00100000 (espaço em branco)
01100110 01101111 01101001 foi
00100000 (espaço em branco)
01100001 a
00100000 (espaço em branco)
01101101 01100101 01101100 01101000 01101111 01110010 melhor
00100000 (espaço em branco)
01100100 01101001 01110011 01100011 01101001 01110000 01101100 01101001 01101110
01100001 disciplina
00100000 (espaço em branco)
01100100 01101111 do
1 3 5 7
9 11 13 15
17 19 21 23
25 27 29 31
2 3 6 7
10 11 14 15
18 19 22 23
26 27 30 31
4 5 6 7
12 13 14 15
20 21 22 23
28 29 30 31
00100000 (espaço em branco)
01110000 01110010 01101001 01101101 01100101 01101001 01110010 01101111 primeiro
00100000 (espaço em branco)
01110011 01100101 01101101 01100101 01110011 01110100 01110010 01100101 semestre
00100000 (espaço em branco)
01100100 01100101 de
00100000 (espaço em branco)
01010100 01000001 01000100 01010011 TADS
14. Apresente os limites de valores naturais que podemos representar usando um sistema
de numeração binário de
a. 5 bits
R: Considerando que o valor máximo em binário é composto pelo valor 1 em
todas as possíveis posições, temos o seguinte valor usando um sistema binário de
5 bits:
11618141211 ---> A soma dos valores das potências ao lado resulta no maior valor
natural usando 5 bits, que é o número 31.
b. 6 bits
R: Considerando que o valor máximo em binário é composto pelo valor 1 em
todas as possíveis posições, temos o seguinte valor usando um sistema binário de
6 bits:
13211618141211 ---> A soma dos valores das potências ao lado resulta no maior
valor natural usando 6 bits, que é o número 63.
c. 7 bits
R: Considerando que o valor máximo em binário é composto pelo valor 1 em
todas as possíveis posições, temos o seguinte valor usando um sistema binário de
7 bits:
16413211618141211 ---> A soma dos valores das potências ao lado resulta no maior
valor natural usando 7 bits, que é o número 127.
d. 8 bits
R: Considerando que o valor máximo em binário é composto pelo valor 1 em
todas as possíveis posições, temos o seguinte valor usando um sistema binário de
8 bits:
112816413211618141211 ---> A soma dos valores das potências ao lado resulta no
maior valor natural usando 8 bits, que é o número 255.
e. 10 bits
R: Considerando que o valor máximo em binário é composto pelo valor 1 em
todas as possíveis posições, temos o seguinte valor usando um sistema binário de
10 bits:
15121256112816413211618141211 ---> A soma dos valores das potências ao lado resulta
no maior valor natural usando 10 bits, que é o número 1023.
15. *Um jogo de cartas é constituído de 5 cartas contendo números. O jogo consiste em
um jogador pensar um número, entre 1 e 31 e, sem dizê-lo, apontar as cartas onde
esse número está presente. O oponente, sabendo em quais cartas estão o número,
“advinha” o pensamento do primeiro jogador, somando o primeiro de cada uma das
cartas.
As cartas são:
8 9 10 11
12 13 14 15
24 25 26 27
28 29 30 31
16 17 18 19
20 21 22 23
24 25 26 27
28 29 30 31
Ex.: 23. Esse número está na carta amarela, na carta verde, na carta rosa, e na carta
azul. Os primeiros números destas cartas são: 1 (amarela) + 2 (verde) + 4 (rosa) + 16
(azul)=23.
Explique como essas cartas foram construídas, ou seja, o porquê desses serem os
valores em cada uma delas.
Resposta: Para compreender o problema, deve-se converter cada valor decimal
presente nas cartas para a base binária, de modo que o máximo de bits que teremos
com os valores da tabela será igual a 5, que é justamente a quantidade de cartas.
Por exemplo, o número decimal 19 ao ser escrito em binário possui 5 bits e é
igual a:
1 0 0 1 1
De modo que sempre o último bit da direita (independente da quantidade de
bits) será referente à carta amarela (1º carta). Caso esse bit seja igual a 1, significa que
aquele número decimal está presente na carta amarela. Ou seja, como o último bit da
direita é justamente igual a 1, significa que o número 19 está presente na carta
amarela.
Note que como o número 19 é escrito em binário utilizando 5 bits, a priori ele
poderia estar em todas as cartas, já que temos 5 cartas e cada carta remete a 1 bit no
número binário. Porém, um número X qualquer só vai estar em uma carta quandoo bit
referente a ela for igual a 1.
Como dito anteriormente, os números decimais da tabela serão escritos em
binário em até 5 bits, e cada bit se refere a uma carta (conforme a distribuição com as
setas acima). Ou seja, teremos:
Do número 1 ao 3 (incluindo eles) ---> se escreverá em binário utilizando 2 bits
(os números desse intervalo podem estar nas cartas amarela e verde claro).
Do número 4 ao 7 (incluindo eles) ---> se escreverá em binário utilizando 3 bits
(os números desse intervalo podem estar nas cartas amarela, verde claro e rosa).
Do número 8 ao 15 (incluindo eles) ---> se escreverá em binário utilizando 4 bits
(os números desse intervalo podem estar nas cartas amarela, verde claro, rosa e roxa).
Do número 16 ao 31 (incluindo eles) --> se escreverá em binário utilizando 5 bits
(os números desse intervalo podem estar em qualquer uma das cartas).
❖ Voltemos ao exemplo do número decimal 19 em binário para demonstrar como se chega
2 3 6 7
10 11 14 15
18 19 22 23
26 27 30 31
1 3 5 7
9 11 13 15
17 19 21 23
25 27 29 31
4 5 6 7
12 13 14 15
20 21 22 23
28 29 30 31
8 9 10 11
12 13 14 15
24 25 26 27
28 29 30 31
16 17 18 19
20 21 22 23
24 25 26 27
28 29 30 31
Carta amarela
(1ª carta)
Carta verde claro
(2ª carta)
Carta rosa
(3ª carta)
Carta roxa
(4ª carta)
Carta azul claro
(5ª carta)
no resultado de um número utilizando a soma de seus bits (que são justamente as
potências que remetem aos primeiros números das cartas que são somados para chegar
no resultado).
❖ Recordemos que o número decimal 19 em binário é: 1 0 0 1 1
❖ Agora considere esse mesmo valor com suas potências: 116 08 04 12 11
❖ Observe que ao somar as potências acima dos bits iguais a um, temos justamente a soma
dos elementos que resulta em 19, que ocorre entre:
16 (azul claro) + 2 (verde claro) + 1 (amarela) = 19