-
alguem se habilita?
-
Convertendo os números para binário temos o seguinte:
A = 10111100 = 1*2^7 + 0*2^6 + 1*2^5 + 1*2^4 + 1*2^3 + 1*2^2 + 0*2^1 + 0*2^0 = 198
B= 00110011 = 0*2^7 + 0*2^6 + 1*2^5 + 1*2^4 + 0*2^3 + 0*2^2 + 1*2^1 + 1*2^0 = 51
Não entendi a questão em "representados em palavra de 8 bites e em complemento a dois".
-
Primeiro é entender o que é complemento de 2
O complemento de 1 e o complemento de 2 de um número binário
são importantes porque eles permitem a representação de números negativos.
O método da aritmética do complemento de 2 é geralmente usado em computadores
na operação com números negativos.
Determinação do Complemento de 1:
O complemento de 1 de um número binário é determinado
trocando-se todos os 1s por 0s e todos os 0s por 1s, conforme ilustrado a
seguir:
Obs. O complemento de 1 foi utilizado no número binário (-B)
por ser este identificado em subtração(-).
(+A) = 10111100 (-B) = 00110011
0 0 1 1 0 0 1 1 Número binário
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
1 1 0 0 1 1 0 0 Complemento de 1
Determinação do Complemento de 2:
O complemento de 2 de um número binário é determinado
somando 1 ao bit menos significativo do complemento de 1.
Obs: Um número binário é um número em que os dígitos
apresentam pesos. O bit mais à direita é o bit menos significativo (LSB
– least significante bit) em um número inteiro binário e tem um peso
de 2^0 = 1.
Complemento de 2 = (complemento de 1) + 1
Determine o complemento de 2 de (11001100 ), este
número binário e o que encontramos no Complemento de 1.
Solução
Problema relacionado determinando o complemento de 2 de (11001100).
11001100 Complemento de 1
+ 1 Soma-se 1 11001101 Complemento de 2
Resumo: o execício pede aos números binários (+A)
10111100 e (-B) 00110011, representados em palavra de 8 bites e em complemento
a dois correto analisando fizemos o que foi pedido agora vamos calcular ( A-B).
Obs: Um bit de sinal 0 indica um número positivo e um bit de
sinal 1 indica um número negativo o computador não identifica o sinal "-
ou +" por isso a utilização do complemento 1 e complemento 2 para números
negativos
subtrações de números sinalizados:
(A-B)= 10111100 – 00110011
numero
binário iniciado com o bit (1) que representa
A =
10111100 = 1*2^(-7) + 0*2^6 + 1*2^5 + 1*2^4 + 1*2^3 + 1*2^2 + 0*2^1 +
0*2^0 = -128+32+16+8+4= -68
B=
11001101 = 1*2^(-7) + 1*2^6 + 0*2^5 + 0*2^4 + 1*2^3 + 1*2^2 + 0*2^1 + 1*2^0 =
-128+64+8+4+1= -51
Neste
caso, –68 – (+51) = –68 + (-51) = – 119
10111100 Minuendo (−68)
11001101
Complemento de 2 do subtraendo (−51)
10001001 Diferença (−119)
-
A explicação do componente de 2 eu entendi, porém não entendi porque foi aplicado somente no segundo valor, sendo que os 2 fazem parte da regra segundo a questão.
-
Danilo, você só faltou fazer o complemento de 2 do resultado final da operação, pois se não fizer vai dar -137 (10001001).
Fazendo o complemento de 2 de 10001001 vai dar 01110111 (-119).
-
Esta descrição e para aqueles que ficaram com duvidas do que já tinha explicado.
Observe que na explicação anterior descrevo como chegamos no complemento de 2 e porque o utilizamos para definir um número binário negativo
Obs:
Um bit de sinal 0 indica um número positivo e um bit de sinal 1 indica um número negativo o computador não identifica o sinal "- ou +" por isso a utilização do complemento 1 e complemento 2 para números negativos, entenda que é para números negativo que na questão é (-B).
Os bits e os respectivos pesos em potências de dois para o número negativo são mostrados a seguir. Observe que o bit de sinal negativo tem um peso de 1*2^(-7) ou –128.
-7 6 5 4 3 2 1 0 - expoente
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
2 2 2 2 2 2 2 2 - base
1 0 0 0 1 0 0 1 - número binário é o resultado de (A-B) observação não precisa refazer o complemento de 2
↓ ↓ ↓
-128 8 1
Somando os pesos em que os bits são 1s, temos:
–128 + 8 + 1 = –119
Detalhes do que foi feito na explicação anterior.
O que está sendo pedido!
(A-B)= 10111100 – 00110011 - o número binário em negrito é o que temos para complemento de dois conforme a explicação anterior ao qual chegamos (11001101).
número binário iniciado com o bit (1) que representa número negativo
A = 10111100 = 1*2^(-7) + 0*2^6 + 1*2^5 + 1*2^4 + 1*2^3 + 1*2^2 + 0*2^1 + 0*2^0 = -128+32+16+8+4= -68
B = 11001101 = 1*2^(-7) + 1*2^6 + 0*2^5 + 0*2^4 + 1*2^3 + 1*2^2 + 0*2^1 + 1*2^0 = -128+64+8+4+1= -51
Neste caso, –68 – (+51) = –68 + (-51) = – 119
10111100 - Minuendo (−68)
11001101 - Complemento de 2 do subtraendo (−51)
10001001 - Diferença (−119)
-
Uma explicação mais simples!
Binário 10111100 - Decimal (188)
- (subtrai)
Binário 00110011 - Decimal (51)
Total: 10001001 (137)
10001001 (+c2) => 01110111 (-119).
-
Só consigo achar - 137.
Vamos na fé.
-
Segue minha interpretação...
Primeiramente, o enunciado pede para subtrair B de A
10111010 --> A
- 00110011 --> B
10001001
Atenção agora
O enunciado diz que os números binários estão representados em Complemento de 2 (C2)
Nesse caso, o resultado 10001001 está em C2
Como o primeiro bit é 1, trata-se de um número binário negativo
Se fosse realizada uma conversão direta do resultado da subtração para decimal, daria 137, no caso, a opção C
Entretanto... Não podemos realizar uma conversão direta de um número binário negativo em C2 para achar a sua representação na Base 10, pois o valor apresentado seria outro...
Se fosse um número binário positivo, bastaria apenas descartar o primeiro número (bit do sinal, que seria 0 de qualquer forma), fazendo a conversão de base com os demais 7 bits do módulo para achar o decimal.
Porém, trata-se de um número binário negativo...
Então... como descobrir a representação na Base 10 de um número binário que está em C2?
Precisa-se aplicar novamente a regra de C2 para achar o binário originário, mantendo o sinal negativo.
Solução
10001001 - o resultado daquela subtração
01110111 - aplicada a regra de C2 para achar o valor original, que equivale a 119 na Base 10
Como o binário estava originalmente em C2, o seu valor era negativo, então...
10001001 (Base 2 em C2) = -119 (Base 10)
Segue um exemplo mais simples para quem não entendeu...
O binário 0011 (Base 2) equivale a 3 em decimal (Base 10)
O C2 desse binário é igual a 1101 que equivale a -3 (Base 10)
Perceba que, nessa situação, 1101 não é igual a 13 (caso fizesse uma conversão direta), mas igual a -3 (pois o binário está em C2)
Então, como eu faço para achar a equivalência de 1101 em decimal?
Reaplica C2 no binário, ficando 0011 e mantém negativo o decimal convertido, que será -3
Espero ter ajudado.
:)