Baixe o app para aproveitar ainda mais
Prévia do material em texto
Alcides Tiago Medeiros Dantas Lista de Exercícios 2 – Sistemas de Numeração Q1) O matemático Abū 'Abd Allāh Mufiammad ibn Mūsā al-Khwārizmīe estava intrigado para encontrar uma forma de realizar contas com números binários. Ele, então, observou que, numa soma de objetos, independentemente do sistema de numeração utilizado, a conta precisaria dar certo. Ele fez um conta para somar seus discípulos. Pela manhã ele tinha 42 e no período da tarde, 44. O total era de 86 discípulos. Ele mostrou a representação da conta 42+44=86 em binário e descobriu como realizar somas em binário. Preencha a tabela abaixo para indicar como fazer uma conta em binário. Vem 1 Bit A Bit B Soma Vai 1 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 Q2) Imagine uma situação em que você é um professor de uma disciplina que envolva operações aritméticas em binários. Crie ao menos dois exercícios que envolvam cada uma das operações em binário abaixo e mostre suas soluções. a) Soma Exemplo 1: 10101 + 01001 Resultado Final Exemplo 2: 011101 + 011001 Resultado Final b) Subtração Exemplo 1: 11110 - 00110 Resultado Final 1 0 1 01 1 0 1 0 0 1 Vai 1 0 1 1 1 1 01 11 1 1 01 1 0 1 1 0 0 1 Vai 1 0 1 1 0 Vai 1 Vai 1 1 1 1 1 1 1 0 0 0 1 1 0 0 0 0 1 1 Exemplo 2: 100110 - 011101 Resultado Final c) Multiplicação Exemplo 1: 0110 X 0110 Resultado Final Exemplo 2: 11001 X 01110 Resultado Final Q3) Considere uma forma diferente de indicar um sistema de numeração ao qual pertence um número. Para indicar um decimal, usa-se o número começando com qualquer algarismo válido diferente de 0, ou seja, {1,...,9}. Para um sistema de numeração octal prefixa-se um 0 antes da quantidade indicada. Para um sistema hexadecimal prefixa-se um 0x antes dos algarismos hexadecimais válidos {0,...,9,a,b,c,d,e,f}. Um sinal de menos pode anteceder qualquer desses padrões para indicar números negativos. Nesse formato, indique as quantidades, por extenso (ex.s: um, dois, mil e quinhentos), a seguir apresentadas. Exemplo 0x10 = dezesseis a) 0x1a (vinte e seis) b) 065 (cinquenta e três) c) 65 (sessenta e cinco) d) 0x011 (dezessete) e) -034 (menos vinte e oito) 11 01 0 1 11 0 0 1 1 1 0 1 1 Vai 1 0 0 1 0 0 Vai 1 Vai 1 } } } 0 1 1 0 0 1 1 0 0 0 0 0 01 1 1 0 01 1 1 0 0 0 0 0 0 0 1 0 1 0 1 1 0 } } } } 1 1 0 0 1 0 1 1 1 0 0 0 0 0 0 1 1 0 0 1 11 1 0 0 1 11 1 0 0 1 01 0 0 0 0 0 1 1 1 1 0 1 0 1 Q4) Uma fila de um caixa de banco, contendo 10 espaços para clientes, foi usada como metáfora para uma sequencias de bits. Cada espaço para clientes representaria um bit de um conjunto de 10 bits. Se o cliente for do sexo masculino, o cliente é representado como um 0 e se for do sexo feminino o cliente é representado por um 1. Assim, 0000001001, indica as pessoas, tendo, na ordem, seis homens à frente, uma mulher, dois homens e no último lugar da fila, mais uma mulher. Quando a fila anda (uma pessoa vai para o caixa), há um deslocamento de todos, uma casa para esquerda, abrindo lugar para entrada de mais um homem ou mais uma mulher na fila. Agora, considere um número escrito em binário contendo 10 bits, que é deslocado para esquerda e entra, no fim, apenas um valor 0. Nos casos a seguir, mostre em decimal o valor escrito em binário; desloque o binário uma casa para esquerda e mostre em decimal o valor correspondente ao binário gerado. Ex.: 00000000012 = 1; deslocado será 00000000102 = 2 a) 00000000112 = 3; deslocado será 00000001102 = 6 b) 00000001002 = 4; deslocado será 00000010002 = 8 c) 00000010002 = 8; deslocado será 00000100002 = 16 d) 00000001112 = 7; deslocado será 00000011102 = 14 Q5) Escreva em binário os números negativos a seguir, usando 10 bits, no padrão sinal- magnitude. a) -5 -------> b) -8 -------> c) -10 -----> d) -25 ----> e) -534 ---> Não é possível escrever o número -534 utilizando apenas 10 bits (Overflow), visto que o número por si só ocupa os 10 bits, e ainda precisaria inserir o bit referente ao sinal. Com 10 bits, só é possível representar números de -512 até 511. Q6) Dados os números abaixo, escritos em binário, com 10 bits, no padrão sinal- magnitude, indique seu valor em decimal. a) 10001001012 ------> 1 + 4 + 32 = 37 (sem considerar o bit de sinal por enquanto) ------> -37 (considerando o bit de sinal) b) 01101000012 ------> 1 + 32 + 128 + 256 = +417 (já com o bit de sinal) c) 10000001012 ------> 1 + 4 = 5 (sem considerar o bit de sinal por enquanto) ------> -5 (considerando o bit de sinal) d) 11110000002 ------> 64 + 128 + 256 = 448 (sem o bit de sinal por enquanto) ------> -448 (considerando o bit de sinal) e) 01011101102 ------> 2 + 4 + 16 + 32 + 64 + 256 = +374 (já com o bit de sinal) Q7) Escreva em binário os números negativos a seguir, usando 10 bits, no padrão complemento de 2. a) -5 0 0 0 0 0 0 0 1 0 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 0 1 1 b) -8 0 0 0 0 0 0 1 0 0 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 01 11 11 1 1 1 1 1 1 1 1 1 0 0 0 c) -10 0 0 0 0 0 0 1 0 1 0 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 0 1 01 1 1 1 1 1 1 1 1 0 1 1 0 d) -25 (complemento de 1 aplicado) (complemento de 2 aplicado) O valor -5 em binário usando 10 bits pelo padrão complemento de 2 é: 1 1 1 1 1 1 1 0 1 1 (partindo do 5 para chegar ao -5 no final) (partindo do 8 para chegar ao -8 no final) (complemento de 1 aplicado) (complemento de 2 aplicado) O valor -8 em binário usando 10 bits pelo padrão complemento de 2 é: 1 1 1 1 1 1 1 0 0 0 (partindo do 10 para chegar ao -10 no final) (complemento de 1 aplicado) (complemento de 2 aplicado) O valor -10 em binário usando 10 bits pelo padrão complemento de 2 é: 1 1 1 1 1 1 0 1 1 0 0 0 0 0 0 1 1 0 0 1 1 1 1 1 1 0 0 1 1 0 1 1 1 1 1 0 0 1 1 0 1 1 1 1 1 1 0 0 1 1 1 e) -534 ---> Não é possível escrever o número -534 utilizando apenas 10 bits (Overflow), visto que o número por si só ocupa os 10 bits, e ainda precisaria inserir o bit referente ao sinal. Com 10 bits, só é possível representar números de -512 até 511. Q8) Dados os números abaixo, escritos em binário, com 10 bits, no padrão complemento de 2, indique seu valor em decimal. a) 10001001012 1 0 0 0 1 0 0 1 0 1 0 1 1 1 0 1 1 0 1 0 0 1 1 1 0 1 1 0 1 0 1 0 1 1 1 0 1 1 0 1 1 b) 01101000012 0 1 1 0 1 0 0 0 0 1 1 0 0 1 0 1 1 1 1 0 1 0 0 1 0 1 1 1 1 0 1 1 0 0 1 0 1 1 1 1 1 c) 11100001012 1 1 1 0 0 0 0 1 0 1 0 0 0 1 1 1 1 0 1 0 O valor após o complemento de 2 acima é +475 (1 + 2 + 8 + 16 + 64 + 128 + 256). Como o valor original é negativo, ele em decimal é -475. (complemento de 1 aplicado) (complemento de 2 aplicado) O valor após o complemento de 2 acima é -95 (1 + 2 + 4 + 8 + 16 + 64). Como o valor original é positivo, ele em decimal é +95. (complemento de 1 aplicado) (complemento de 1 aplicado) (complemento de 2 aplicado) (partindo do 25 para chegar ao -25 no final) (complemento de 1 aplicado) (complemento de 2 aplicado) O valor -25 em binário usando 10 bits pelo padrão complemento de 2 é: 1 1 1 1 1 0 0 1 1 1 0 0 0 1 1 1 1 0 1 0 1 0 0 0 1 1 1 1 0 1 1 d) 11110000002 1 1 1 1 0 0 0 0 0 0 0 0 00 1 1 1 1 1 1 0 0 0 01 11 11 11 11 11 1 1 0 0 0 1 0 0 0 0 0 0 e) 11111111112 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 Q9) Escreva, no padrão complemento de 2, o valor -2, usando a quantidade de bits indicados nas alíneas abaixo. (complemento de 2 aplicado) O valor após o complemento de 2 acima é +123 (1 + 2 + 8 + 16 + 32 + 64). Como o valor original é negativo, ele em decimal é -123. (complemento de 1 aplicado) (complemento de 2 aplicado) O valor após o complemento de 2 acima é +64 (+ 64). Como o valor original é negativo, ele em decimal é -64. (complemento de 1 aplicado) (complemento de 2 aplicado) O valor após o complemento de 2 acima é +1 (+ 1). Como o valor original é negativo, ele em decimal é -1. a) 5bits 0 0 0 1 0 1 1 1 0 1 1 1 1 01 1 1 1 1 1 1 0 b) 6bits 0 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1 01 1 1 1 1 1 1 1 0 c) 7bits 0 0 0 0 0 1 0 1 1 1 1 1 0 1 1 1 1 1 1 01 1 1 1 1 1 1 1 1 0 d) 8bits 0 0 0 0 0 0 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 01 1 1 1 1 1 1 1 1 1 0 (partindo do 2 para chegar ao -2 no final) (complemento de 1 aplicado) (complemento de 2 aplicado) O valor -2 em binário usando 5 bits pelo padrão complemento de 2 é: 1 1 1 1 0 (partindo do 2 para chegar ao -2 no final) (complemento de 1 aplicado) (complemento de 2 aplicado) O valor -2 em binário usando 6 bits pelo padrão complemento de 2 é: 1 1 1 1 1 0 (partindo do 2 para chegar ao -2 no final) (complemento de 1 aplicado) (complemento de 2 aplicado) O valor -2 em binário usando 7 bits pelo padrão complemento de 2 é: 1 1 1 1 1 1 0 (partindo do 2 para chegar ao -2 no final) (complemento de 1 aplicado) (complemento de 2 aplicado) O valor -2 em binário usando 8 bits pelo padrão complemento de 2 é: 1 1 1 1 1 1 1 0 e) 9bits 0 0 0 0 0 0 0 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 01 1 1 1 1 1 1 1 1 1 1 0 Q10) Um número real pode ser representado em binário. Por exemplo, 110,12 equivale 6,5 em decimal. 1010,112 equivale 10,75 em decimal. Explique como podemos calcular o valor em decimal de um número real dado em binário. R: Para isso, basta pegar cada dígito em binário, multiplicar pela base 2 elevada à posição daquele dígito, e ao fim somar todos esses resultados, chegando no valor em decimal. Segue abaixo um passo a passo de um exemplo: 110,1 (em binário) 1.2² + 1.2¹ + 0.20 + 1.2-1 4 + 2 + 0 + 0,5 6,5 Q11) Considere um padrão de numeração de números reais, usando 8 bits, com a vírgula (ponto) fixo entre o quarto e o quinto bit (iiii,ffff, onde iiii representa a parte inteira e ffff a parte fracionária do número real). Descubra os valores a seguir indicados, escritos nesse padrão. Desconsidere números negativos. Ex.: 101011002 =10,75 a) 11111100 1111 | 1100 b) 01010100 0101 | 0100 Posição 2 Posição 1 Posição 0 Posição -1 1º passo (identificar a posição de cada dígito a partir da vírgula) 2º passo (multiplicar cada dígito pela base elevada à posição desse dígito, e ao fim somar esses resultados. Parte inteira Parte fracionária 15 1.2-1 + 1.2-2 15,75 Parte inteira Parte fracionária 5 1.2-2 (partindo do 2 para chegar ao -2 no final) (complemento de 1 aplicado) (complemento de 2 aplicado) O valor -2 em binário usando 9 bits pelo padrão complemento de 2 é: 1 1 1 1 1 1 1 1 0 c) 00111111 0011 | 1111 d) 01000001 0100 | 0001 e) 00001001 0000 | 1001 Q12) Dados os valores binários em 8 bits escritos na tabela a seguir, indique que valores decimais eles estão representando, de acordo com o padrão indicado. Número Natural Inteiro em Complemento de 2 Inteiro em Sinal Magnitude Real, ponto fixo, entre o 4º e o 5º bit (como na Q11) 11111111 255 -1 -127 Sem considerar números negativos igual a questão anterior, o resultado é: 15,9375 Considerando o primeiro bit sendo de sinal, 3 de parte inteira e 4 de parte fracionária, o resultado é: -7,9375 10011001 153 -103 -25 Sem considerar números negativos igual a questão anterior, o resultado é: 9,5625 Considerando o primeiro bit 5,25 Parte inteira Parte fracionária 3 1.2-1 + 1.2-2 + 1.2-3 + 1.2-4 3,9375 Parte inteira Parte fracionária 4 1.2-4 4,0625 Parte fracionária Parte inteira 1.2-1 + 1.2-4 0 0,5625 sendo de sinal, 3 de parte inteira e 4 de parte fracionária, o resultado é: -1,5625 00110010 50 78 50 Considerando o primeiro bit sendo parte do sinal ou sendo parte do número, o resultado é o mesmo: 3,125 11001100 204 -52 -76 Sem considerar números negativos igual a questão anterior, o resultado é: 12,75 Considerando o primeiro bit sendo de sinal, 3 de parte inteira e 4 de parte fracionária, o resultado é: -4,75 10000000 128 -128 -0 Sem considerar números negativos igual a questão anterior, o resultado é: 8,0000 (ou simplesmente 8) Considerando o primeiro bit sendo de sinal, 3 de parte inteira e 4 de parte fracionária, o resultado é: -000,0000 (ou simplesmente -0) Q13) Um número real em ponto flutuante, escrito em binário, no padrão s1,_ _ _ _ x2_ _ _ , tem o expoente expresso com 3 bits no padrão complemento de 2. Ele tem também 4 bits para mantissa e 1 bit, s, antes do padrão “1,” para indicar o sinal (0 para positivo e 1 para negativo). Exemplo: -8,5 decimal seria escrito como -1000,12 = -100,012 x 21 = -10,0012 x 22 = -1,00012 x 23. Agora esse valor está no padrão s1,_ _ _ _ x2_ _ _ A mantissa seria então 00012. O expoente seria +3, que representado em complemento de 2, com 3 bits, vale 0112. O sinal é negativo, portanto, s=12. O valor em binário, nesse padrão, para representar -8,5 seria, então: 10001011. Siga o exemplo para representar os valores reais em binário, segundo esse padrão. a) -2,25 R: -2,25 decimal sendo escrito em binário: --> 10,01 --> 1,001.2¹ (Falta um bit zero a direita na mantissa e adequar o expoente para 3 bits) --> 10010001 Sinal Mantissa Expoente b) 4,75 R: 4,75 decimal sendo escrito em binário: --> 100,11 --> 10,011.2¹ --> 1,0011.2² (Falta adequar o expoente para 3 bits) --> 00011010 c) -1,625 R: -1,625 decimal sendo escrito em binário: --> 1,101 --> 1,101.20 (Falta um bit zero a direita na mantissa e adequar o expoente para 3 bits) --> 11010000 d) 0,0625 R: 0,0625 decimal sendo escrito em binário: --> 0,0001 --> 00,001.2-1 --> 000,01.2-2 --> 0000,1.2-3 --> 1.2-4 (a mantissa é toda igual a zero e falta adequar o expoente para 3 bits) --> 00000100 Sinal Mantissa Expoente Sinal Mantissa Expoente Sinal Mantissa Expoente Q14) Explique o funcionamento do padrão IEEE 754 R: O IEEE 754 foi feito para padronizar a implementação de cada máquina a um certo modelo que facilitasse a comunicação entre os computadores. Esse padrão define os formatos adequados para representar números em ponto flutuante, sendo eles: 1. No uso de 32 bits no padrão IEEE 754 (precisão simples), temos: ❖ 1 bit para sinal; ❖ 8 bits para o expoente (potência); ❖ 23 bits para a mantissa. ❖ s1, mmmmmmmmmmmmmmmmmmmmmmm X 2pppppppp ❖ eeeeeeee = pppppppp + 127 (evitando o uso do complemento de 2). ❖ eeeeeeee agora não é mais um número sinalizado. ❖ Ao final, temos: ❖ seeeeeeeemmmmmmmmmmmmmmmmmmmmmm m 2. No uso de 64 bits no padrão IEEE 754 (precisão dupla), temos: ❖ 1 bit para sinal; ❖ 11 bitspara o expoente (potência); ❖ 52 bits para a mantissa. ❖ s1, mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmm X 2ppppppppppp ❖ Ao final, temos: ❖ seeeeeeeeeeemmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmm
Compartilhar