SóProvas


ID
783352
Banca
CESGRANRIO
Órgão
BNDES
Ano
2011
Provas
Disciplina
Arquitetura de Computadores
Assuntos

A operação de computadores digitais é baseada no armazenamento e processamento de dados binários. Diversas convenções são usadas para representar números inteiros e positivos. Com relação à representação em complemento de dois, considere as seguintes afirmações:

I - Assim como a representação sinal-magnitude, o bit mais significativo é usado como bit de sinal, mas os demais bits são interpretados de maneira diferente.

II - A faixa de valores representáveis é –2 n-1 a 2 n-1 – 1 e existe apenas uma representação para o número zero.

III - Para converter uma representação em outra com maior número de bits, move-se o bit de sinal para a posição mais à esquerda e preenchem-se as novas posições de bit com valor oposto ao do bit de sinal.

IV - A representação com 8 bits do valor –18 é 11101110, e a do valor +18 é 01101110.

É correto APENAS o que se afirma em

Alternativas
Comentários
  • I - Assim como a representação sinal-magnitude, o bit mais significativo é usado como bit de sinal, mas os demais bits são interpretados de maneira diferente. (Correta)

    "O dígito mais significativo (MSB) é o que informa o sinal do número. Se este dígito for 0 o número é positivo, e se for 1 é negativo."

    Ref.: Complemento para dois na Wikpedia
    -------------------------------------------------------------------------
    II - A faixa de valores representáveis é –2 n-1 a 2 n-1 – 1 e existe apenas uma representação para o número zero. (Correta)


    "A faixa de representação de uma representação na base 2 em complemento a base com n bits pode ser calculada como

    2n valores (entre - 2n-1 e + 2n-1-1), sendo 2 a base."
    Ref.: REPRESENTAÇÃO DE DADOS
    -------------------------------------------------
    III - Para converter uma representação em outra com maior número de bits, move-se o bit de sinal para a posição mais à esquerda e preenchem-se as novas posições de bit com valor oposto ao do bit de sinal. (Errada)

    Usando a regra acima teríamos:
    2 na base 2 = 10.
    Usando 4 posições seria 0010. Usando 6 posições seria 000010.
    -2 seria 1101 + 0001 =  1110. Usando 6 posiçoes seria 111101 + 000001 = 111110.
    Pela regra em III deveria ser 10
    1110. A diferença ocorre no segundo bit da esquerda para a direita que, pela regra em III, deve ser de valor oposto ao do bit de sinal (ZERO no caso em foco).
    ------------------------------------
    IV - A representação com 8 bits do valor –18 é 11101110, e a do valor +18 é 01101110. (Errada)
    18 = 16 + 2 e na base 2 é 00010000 + 00000010 = 00010010 e não 
    01101110 como afirmado em IV (-18 em complemento de dois é 11101101 + 00000001 = 11101110 e está correto).

  • Gente, entendi o item III da seguinte maneira:
    Você tem um número na base 2 com, por exemplo, 5 bits. Ou seja, o bit mais significativo representa o sinal e os 4 bits restantes representam o número. Se eu quero representar esse mesmo número, só que agora utilizando 10 bits, eu preciso manter o sinal no bit mais significativo. Isso significa colocar o bit do sinal na primeira posição da esquerda para a direita, deixo o número exatamente como estava e preencho com zeros do bit que representa o sinal até o número.
    Ex: 01101 (5 bits) - o zero representa o sinal positivo, o número é 13.
          0000001101 (10 bits)
    Bem o número não alterou. Continua sendo +13.
  • @RWerneck, vejamos o que o item diz:

    III - Para converter uma representação em outra com maior número de bits, move-se o bit de sinal para a posição mais à esquerda e preenchem-se as novas posições de bit com valor OPOSTO ao do bit de sinal. 

    nesse caso, apos a conversão que vc propos, ficaria: 
    0111111101, que não equivale ao numero 13, portanto o item esta incorreto.

    outra pessoas poderia pensar assim também: 
    0110111111, mas da mesma forma estaria incorreto o item.

    espero ter ajudado, bons estudos!
  • A única opçÃo que dá mais trabalho é calcular 18 e -18

    Mas é simples

    18 = 16+2 = 10010.  Em notação 8 bit fica 0001 0010

    Para fazer o complemento a 2, que é o negativo de 18, basta fazero seguinte:

    1 - inverter os bits -> 1110 1101

    2 - Somar 1           -> 1110 1110 que é o valor -18

    Portanto o -18 está correto, mas a representação de 18 em binário está errada

  • III - Para converter uma representação em outra com maior número de bits, move-se o bit de sinal para a posição mais à esquerda e preenchem-se as novas posições de bit com valor oposto ao do bit de sinal.(ERRADA)

    ... preenchem-se as novas posições de bit com valor igual ao do bit de sinal.