-
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 o número é positivo, e se for é 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 101110. 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.