Sistemas Digitais Sistemas de numeração e aritmética binária LEEC Problema 1 a) Converta o número real 123,625 em base decimal para representação em bases binária e hexadecimal. b) Calcule a soma dos números hexadecimais 35E e E7, sabendo que representam números inteiros em complemento para 2, com 10 bits e 8 bits, respectivamente. Diga, justificando, se existe overflow. (nota: deverá efectuar extensão aritmética de sinal) Problema 2 a) Que número (em base 10) é representado por: i) 74h (base 16) com 8 bits e em complemento para dois ? ii) 74h (base 16) com 7 bits e em complemento para dois ? b) Sabendo que, multiplicar um número X representado em binário por 2N, equivale a deslocar os seus bits N posições para a esquerda, calcule o resultado da multiplicação de 6 por BCh, sabendo que 6xBCh = (22 + 21)xBCh e que BCh representa, em hexadecimal, um número de 8 bits em complemento para dois. Qual é o número mínimo de bits necessário para representar o resultado ? Problema 3 a) Determine a representação binária em complemento para dois e em complemento para um dos números decimais -137 e 89. b) Efectue a subtracção binária dos números hexadecimais F23(h) e do dobro de 76(h), sabendo que se encontram em representação de complemento para dois. Qual o número de bits mínimo necessário para apresentar o resultado correctamente? Problema 4 Considere a sequência de dígitos 10101 a) Diga qual é o seu valor se essa sequência representar: i) um número inteiro em base 2 com 6 bits e em complemento para dois ii) um número inteiro em base 2 com 5 bits e complemento para dois iii) um número inteiro sem sinal em base 2 b) Determine o número com 6 bits representado em complemento para dois, que adicionado ao número 10101 representado em complemento para dois com 5 bits, dá o resultado -2. Efectue as operações aritméticas em binário que achar convenientes. Problema 5 a) Indique justificando o resultado da adição binária dos números A=011001 e B=110011, ambos representados em complemento para dois com 6 bits. Efectue os cálculos que achar convenientes em binário b) Adicionando os números X=0101 e Y=1111 obtém-se um resultado com 4 bits igual a 0100. Diga, justificando, se ocorre overflow nessa operação se X e Y representarem números: i) inteiros em base 2 com 4 bits e sem sinal ii) inteiros em complemento para dois com 4 bits Problema 6 a) Num sistema digital pretende-se representar e processar em binário valores de temperatura compreendidos entre -30º C e +50º C, utilizando uma representação em complemento para 2. Diga, justificando, qual é o número mínimo de bits necessário para representar essas grandezas, considerando que se pretende efectuar operações de adição e subtracção entre 2 valores de temperatura sem que ocorra overflow. b) Qual é o valor representado pelo número em hexadecimal 5F16 se este representar um número: i) inteiro com 8 bits em complemento para 2 ii) inteiro com 7 bits em sinal e grandeza www.fe.up.pt/~jca/feup/sd 1/4 ASG/JCA/HSM Sistemas Digitais Sistemas de numeração e aritmética binária LEEC Problema 7 Considere a sequência de dígitos 101 a) Diga qual é o seu valor se essa sequência representar: i) um número inteiro em base 8. ii) um número inteiro em base 16 com 9 bits e complemento para dois. b) Determine o número com 6 bits representado em complemento para dois, que adicionado ao número 01001 representado em complemento para dois com 5 bits, dá o resultado -2. Efectue as operações aritméticas em binário que achar convenientes. Problema 8 Considere X=110100112 e Y=E716 que representam números inteiros com sinal em complemento para dois com 8 bits. a) Diga, justificando, se pode ocorrer overflow na adição de X com Y. b) Efectue a adição de X com Y em binário, e indique se ocorre ou não overflow. c) Qual é o maior número negativo representado em complemento para 2 com 8 bits que adicionado ao o número X provoca overflow? Justifique. Problema 9 Num sistema digital para aquisição de dados, pretende-se representar e processar em binário valores inteiros de tensão eléctrica compreendidos entre -220 V e +220 V, utilizando uma representação em complemento para 2. a) Diga, justificando, qual é o número mínimo de bits necessário para representar os valores da tensão. b) Considerando que se pretende obter o resultado (correcto!) de operações de adição e subtracção entre quaisquer 2 valores de tensão, diga qual é o número mínimo de bits necessário para representar esse resultado. c) Represente em binário e complemento para dois os números X=200 e Y=-100, e efectue em binário a subtracção X-Y, utilizando o número mínimo de bits necessário para obter o resultado correcto. Problema 10 Pretende-se construir um sistema electrónico para prever o estado do tempo com base na medida da variação de pressão atmosférica verificada nas últimas 6 horas. O sistema é formado por um sensor de pressão atmosférica com saída digital Pa, um sistema de memória que armazena o historial da pressão e fornece, em cada instante, o valor da pressão atmosférica P6h existente há 6 horas, e um circuito subtractor para calcular a variação de pressão Vp. sensor de pressão Pa subtractor sistema de memória Vp P6h a) Sabendo que a pressão atmosférica Pa medida pelo sensor de pressão (em mBar) é positiva e nunca ultrapassa o valor 110010, diga, justificando, qual é o número mínimo de bits necessários para representar essa grandeza. b) Sabendo que a variação de pressão Vp (positiva ou negativa) nunca excede 40 mBar em valor absoluto, indique, justificando, qual o número mínimo de bits necessário para representar, em complemento para dois, essa variação de pressão. c) Sabendo que o valor actual de pressão é 923 mBar e há 6 horas atrás era de 957 mBar, obtenha o valor da variação de pressão (pressão actual Pa menos a pressão há 6 horas atrás P6h) efectuando a operação de subtracção em binário e tendo em conta as respostas dadas nas alíneas anteriores. Nota: 92310 = 11100110112 e 95710 = 11101111012. www.fe.up.pt/~jca/feup/sd 2/4 ASG/JCA/HSM Sistemas Digitais Sistemas de numeração e aritmética binária LEEC Problema 11 a) Dado o número hexadecimal 1A016, diga qual é o seu valor se representar: i) um número inteiro em complemento para dois com 9 bits. ii) um número inteiro em complemento para dois com 10 bits b) Obtenha o resultado da adição, efectuada em complemento para dois com 9 bits, entre o número dado em a) e –2710. c) Determine qual é a constante inteira positiva de 6 bits que é necessário adicionar a valores representados em complemento para dois com 6 bits, para que passem a representar números inteiros positivos (sem sinal) com 6 bits no intervalo [0,+63]. Problema 12 a) Dados os números hexadecimais X=CB16 e Y=B816, efectue a subtracção binária X-Y e indique o valor do resultado (em decimal) se: i) X e Y forem números representados em complemento para dois com 8 bits. ii) X e Y forem números inteiros sem sinal com 8 bits. b) Obtenha a representação de 4.310 em binário usando 4 bits para a parte inteira e 5 bits para a parte decimal, e indique o erro dessa representação. c) Sabendo que o produto de um número X pela constante inteira 3 pode ser obtido através da operação X.(2+1)=2X+X, e que multiplicar por 2 corresponde a deslocar de um bit para a esquerda a representação binária de um número, obtenha o resultado de 3xCB16 usando esta estratégia, efectuando todas as operações em binário e utilizando o menor número de bits necessário para representar correctamente esse resultado. Problema 13 Pretende-se codificar as coordenadas de latitude e longitude de determinados locais usando o sistema binário em complemento para 2. As latitudes variam entre –90 (90º Sul) e +90 (90º Norte). As longitudes variam entre –180 (180º Oeste) e +180 (180º Este). a) Indique o número mínimo de bits necessários à codificação da latitude e longitude. b) Tendo-se optado por codificar a latitude e longitude com 8 e 10 bits respectivamente, indique as coordenadas da cidade de Melbourne: 38º Sul (-38), 145º Este (+145). c) Admitindo a representação referida em b), calcule em binário a diferença de latitudes das ilhas de Spitzbergen (78º Norte = 4E16) e Falkland (52º Sul = CC16). Comente o resultado. Problema 14 a) Considere o número binário 100000002. Diga qual é o seu valor se: i) representar um número inteiro sem sinal. ii) representar um número inteiro com sinal em complemento para dois com 8 bits. b) Considere os números A=000101112 e B=001011112 i) Efectue a subtracção A-B em binário. ii) Comente o resultado obtido admitindo que A, B e o resultado são números inteiros sem sinal. iii) Comente o resultado obtido admitindo que A, B e o resultado são números inteiros com sinal representados em complemento para dois com 8 bits. Problema 15 a) Considere o número binário 100101112. Diga qual é o seu valor se: i) representar um número inteiro com sinal, numa representação sinal e grandeza com 8 bits. ii) representar um número inteiro com sinal em complemento para dois com 8 bits. b) Considere que A=1018 é um número inteiro com sinal representado em complemento para dois com 7 bits. i) Determine o maior número positivo que numa representação em complemento para dois com 7 bits pode ser subtraído ao número A sem que ocorra overflow ii) Justifique a seguinte afirmação: “Numa representação em complemento para dois com 7 bits, pode ser adicionado qualquer número positivo ao número A sem que ocorra overflow”. www.fe.up.pt/~jca/feup/sd 3/4 ASG/JCA/HSM Sistemas Digitais Sistemas de numeração e aritmética binária LEEC Problema 16 O sistema electrónico de navegação de um barco à vela é composto, entre outros equipamentos, por uma bússola e um catavento electrónicos (ver figura). A bússola indica a direcção do norte (Db, entre -180 e +180 graus) e o catavento indica a direcção do vento (Dv, entre -180 e +180 graus), ambas em relação ao eixo longitudinal do barco. catavento Dv 9 N Db W E sistema electrónico de navegação 9 S bússola a) Mostre que são necessários 9 bits para representar em complemento para dois cada um dos valores referidos com uma resolução de 1 grau. Utilizando toda a gama permitida por esse número de bits, qual seria a resolução mínima (em graus) com que se poderiam representar essas grandezas? b) Quando o barco está a navegar para Este (Db=-90º), qual é o valor binário produzido pela bússola electrónica, considerando que a unidade mínima representada é 1º ? E qual é esse valor se for utilizada toda a gama (9 bits) para representar os valores compreendidos entre -180º e +180º? c) A direcção real do vento (em relação ao norte) pode ser obtida calculando a diferença entre os valores da direcção do barco (Db) e da direcção do vento em relação ao barco (Dv). Determine a direcção real do vento quando o barco navega para Sul (Db=-180º) e o catavento indica uma direcção do vento igual a Dv=+170º, efectuando a operação aritmética em binário com 9 bits. Comente o resultado obtido. Problema 17 O sistema de controlo de temperatura de um equipamento de teste de circuitos integrados contém uma unidade que compara o valor da temperatura do circuito a testar, T, com o valor desejado para o teste, Tset. A temperatura T do circuito pode variar entre -20ºC e +60ºC e o valor Tset pode ser ajustado entre -100ºC e +100ºC. a) Mostre que, numa representação em complemento para dois, são necessários 8 bits para representar Tset e 7 bits para representar T. b) A unidade de comparação realiza a subtracção Tset-T produzindo um resultado (1 bit) que é 1 se for Tset<T e 0 se for Tset≥T. Considerando que esse resultado é o bit mais significativo (b7) da diferença Tset-T, realizada em complemento para 2 com 8 bits, diga, justificando, se desta forma se obtém sempre o resultado correcto, atendendo à gama de valores indicada para Tset e T. c) Admita que T=-50 e que Tset=+78. Represente esses valores em complemento para dois, respectivamente com 7 e 8 bits, e efectue a operação de subtracção Tset-T em binário. Problema 18 a) O valor X, quando representado em complemento para dois com 16 bits, e em notação hexadecimal, escreve-se EAF5. Diga, justificando, qual é a representação dos seguintes valores, nas representações referidas: i) -X (o simétrico de X) em binário e em complemento para dois com 16 bits ii) o quociente inteiro de X/8 em hexadecimal e em complemento para dois com 16 bits b) Considere os números A e B, representando grandezas com sinal. O número A é igual a 1110011, representado em complemento para dois com 7 bits; o número B, representado em sinal e grandeza com 7 bits é dado por 1110011. Obtenha o resultado A+B www.fe.up.pt/~jca/feup/sd 4/4 ASG/JCA/HSM