13. Arquitetura de Computadores: Complemento a Dois

Поделиться
HTML-код
  • Опубликовано: 14 дек 2024

Комментарии • 95

  • @playjhonez6533
    @playjhonez6533 5 лет назад +21

    Uma aula de 15 minutos aprendi mais que metade de 1 semestre kkk Boa Aula e Grande Professor

  • @alexandreoliveira9193
    @alexandreoliveira9193 2 года назад +6

    Maratonando sua playlist de arquitetura 🤗

  • @LINCONAQUINOSOARES
    @LINCONAQUINOSOARES 3 месяца назад

    Excelente aula, obrigado professor!

  • @BHSWGP
    @BHSWGP 2 года назад +6

    o que esse cara explica bem nao ta escrito, vem pra minha faculdade kkkkkk, aula boa dms pantoja

    • @ProfessorPantoja
      @ProfessorPantoja  2 года назад

      Valeu Higor.... fala ae, estuda aonde?

    • @BHSWGP
      @BHSWGP 2 года назад +1

      @@ProfessorPantoja Unimontes, te espero aqui

    • @ProfessorPantoja
      @ProfessorPantoja  2 года назад

      Eu tinha uma viagem marcada para Montes Claros, mas acho que cancelaram. Um dia desses broto aí.

  • @1rrv1
    @1rrv1 5 лет назад +6

    Parabéns pela aula, Pantoja!! Me lembrou de quando tive aula contigo no primeiro ano, mt bom 😁

  • @UllyanneFreire
    @UllyanneFreire 5 лет назад +3

    conteúdo de ótima qualidade, parabéns e obrigado

  • @gillianrocha9373
    @gillianrocha9373 3 года назад +1

    Obrigado pela aula!

  • @lucasviana951
    @lucasviana951 2 года назад

    Incrível sua aula !!!

  • @wagnermh1202
    @wagnermh1202 2 года назад +4

    Boa noite Professor Carlos, tudo bom? O overflow seria o "estouro de pilha" que a gente "vê" em alguns erros de programas? Nem sei se isso ainda existe. Na minha época tinha e era muito comum porque as memórias eram muito caras e eram pequenas, então as CPUs tinham que rebolar pra conseguir resolver todas as instruções 😂 . Tem alguma coisa a ver ou não tem nada a ver? ou é só a forma mesmo que o computador "enxerga" para resolver?

    • @ProfessorPantoja
      @ProfessorPantoja  2 года назад +1

      Se não me engano, o estouro de pilha era por um outro motivo. Mas tinha um erro de overflow bem parecido, onde a tela ficava azul. O pessoal da antiga tinha muito disso!

  • @miguelvieira857
    @miguelvieira857 3 года назад +5

    Professor, nesse caso o zero a esquerda é válido? Eu sempre escutei que o zero a esquerda não valia de nada quando colocado antes da vírgula, e agora ele se tornou importante para evidenciar se um número é positivo ou negativo... Estou confuso....

    • @ProfessorPantoja
      @ProfessorPantoja  3 года назад +9

      Como o bit de sinal é uma convenção, um bit que assumimos como uma representação de positivo ou negativo, então mesmo que tenhamos algum zero a esquerda, o sinal deve ser levado em conta. Por exemplo em decimal +026 ainda é +26; -0031 ainda é -31. Como não podemos representar em binário e com portas lógicas os sinais + e -, usamos um número pra isso, e como a arquitetura tem uma quantidade definida de bits (32, 64, etc.), você terá números com zero a esquerda e o último bit, o mais significativo é o de sinal. Mas excluindo o bit de sinal, até em binário, zero a esquerda não vale nada.

  • @AugustoM23
    @AugustoM23 3 месяца назад

    Onde pega o gabarito das listas?

  • @yumaidkawaii
    @yumaidkawaii Год назад +2

    qndo o (110) será -2 e quando (110) sera 6? ou (111) = -1 e (111) = 7

    • @ProfessorPantoja
      @ProfessorPantoja  Год назад +2

      Isso vai ser definido pelo formato a ser usado. Se estiver informado que é complemento a 2 ou usar o IEEE 754, o primeiro bit é o de sinal. Em questões de exercícios, precisa estar informado de alguma forma a existência ou não do bit de sinal.

  • @Cesarsg.1
    @Cesarsg.1 4 года назад +2

    Professor, então só usaremos o complemento a dois quando for considerado o bit de sinal??

    • @ProfessorPantoja
      @ProfessorPantoja  4 года назад +2

      Sim. Pra usar o c2, temos que considerar a existência do bit de sinal sempre.

  • @o_cadre399
    @o_cadre399 4 года назад +1

    Fala professor tudo bem o senhor tem gabarito das listas ? Se puder me enviar o gabarito da lista de complemento a dois ficaria agradecido

    • @ProfessorPantoja
      @ProfessorPantoja  4 года назад

      Eu não faço os gabaritos para forçarem vocês da turma a se comunicarem e trocarem informações. Assim, vocês podem se ajudar. Sempre que você tiver uma dúvida em alguma questão, em tempos normais, sem o mocoronga vírus, eu corrijo em sala de aula ou no horário de atendimento alguns exercícios que vocês pedirem. Nesse tempo de exceção, ou posta aqui, ou posta na página da disciplina (ou nos dois), ou me manda e-mail.

    • @o_cadre399
      @o_cadre399 4 года назад

      Professor estou-lhe perguntando isso, pois eu estou com uma pequena dificuldade em c2 mas estou conseguindo fazer os exercícios eu queria um gabarito só pra conferir se as respostas estão certas mesmo

    • @o_cadre399
      @o_cadre399 4 года назад +1

      Eu entendo seu ponto de vista e concordo, pois se o senhor lançasse as listas com gabarito muitos não iriam fazer apenas iam colar

    • @ProfessorPantoja
      @ProfessorPantoja  4 года назад

      hahaha... chegamos a um ponto comum! Isso é verdade!

    • @ProfessorPantoja
      @ProfessorPantoja  4 года назад

      Basta você me falar os exercícios que você teve dúvida. Me manda um e-mail com as duvidas que teve e a resolução. Você poderia inclusive escanear (o Tiny Scanner é uma ótima opção gratuita). Em tempos normais, você me mostraria pessoalmente.

  • @caio5098
    @caio5098 4 года назад +1

    então resumidamente o c2 eh só inverter os números e somar 1?

    • @ProfessorPantoja
      @ProfessorPantoja  4 года назад

      Tecnicamente sim. Esse é o processo. Mas o C2 serve para representar números negativos. Lembre-se que uma coisa é pegar um número em binário com bit de sinal e aplicar o processo do c2. A outra é realizar as operações de subtração realizando uma soma com o segundo número em representação de c2.

  • @UniversoIncomum
    @UniversoIncomum Год назад +1

    Não estou entendendo essa aula de complemento a dois :/

    • @ProfessorPantoja
      @ProfessorPantoja  Год назад

      Complemento a dois é difícil no início mesmo. Qualquer dúvida, manda que tento ajudar.

  • @alexspdr999
    @alexspdr999 5 лет назад +3

    Professor, me desculpa. Essa aula bagunçou minhas idéias. Durante todo tempo eu entendi que o binário (1100) era o valor 12 no decimal. Mas nesta aula, você está me dizendo que (1100) é -4. Como vou saber diferenciar esses dois binários?Outra coisa, Não entendi o motivo de o complemento de dois nos cálculos de subtração. por exemplo, se numa prova tiver pedindo para somar ou subtrair dois binários, como vou saber se apenas calculo ou se além do calculo, faço o procedimento de complemento?Se na prova não pedir complemento eu faço o cálculo normal?Obrigado pela ajuda.

    • @ProfessorPantoja
      @ProfessorPantoja  5 лет назад +1

      A diferença é que complento a 2 serve pra representar (e fazer operações com) números negativos. Então o bit mais valioso, o primeiro da esquerda, representa o sinal (0 para positivo e 1 para negativo). Na forma tradicional, não temos como subtrair um número negativo de um número positivo, ou de um número menor diminuir de um número maior. Então para isso, existe o complemento a dois. Com ele é possível subtrair realizando uma soma. Em uma prova, se não há menção a bit de sinal nem a complemento a 2, use os cálculos da forma comum. Se falar algo assim, fique atento que talvez possa ser necessário usar completamento a 2. Sobre o 12, 1100 é 12 sem bit de sinal. O 1100, o 1 indica que é negativo e o resto (100) indica o número em si.

    • @ProfessorPantoja
      @ProfessorPantoja  5 лет назад

      Espero ter desbagunçado as coisas por aí. Rs

    • @alexspdr999
      @alexspdr999 5 лет назад

      @@ProfessorPantoja Está ajudando muito! Estava fazendo curso online mas nesta parte eu estava descontente com o material e encontrei na sua aula o conteúdo que consegui entender perfeitamente. (Me enrolei nesta parte do complemento de 2, mas vou praticar alguns exercícios para pegar o jeito)

    • @ProfessorPantoja
      @ProfessorPantoja  5 лет назад

      @@alexspdr999 ok. Qualquer dúvida posta que vou tentando ajudar. Se tiver mais alguém que você conheça estudando, pode indicar o canal que ajuda, mas só se quiser, é claro. Abs e boa sorte.

  • @wagnermh1202
    @wagnermh1202 2 года назад +1

    Professor Carlos, boa noite! Tudo bom? Na operação 01100 + 11001, o primeiro seria +12 e o segundo -3 e o resultado dá 9, sem a necessidade de inverter a segunda entrada. Por que a soma é diferente e não precisa da inversão de sinal? 01100 + 11001 = [1]|00101.
    O "range" é sempre a quantidade de casa de bits -1? Tipo ali em cima: 5 bits = 2^5 = 32, então iria de +16 a -15?

    • @ProfessorPantoja
      @ProfessorPantoja  2 года назад +1

      Depende se você está adotando o número em magnitude ou o complemento a dois. Como nesse caso é o complemento a 2, você sempre realiza a soma (porque se diminui somando) quando é uma operação de subtração nomeadamente. Quando você soma, não há a necessidade de inverter. Nesse seu exemplo, o primeiro número é o +12, mas o segundo (11001) é o -7, se você somar 01100 + 11001 = [1]00101 = +5. O -3 é 11101. Se fizermos 01100 + 11101 = [1]01001 ou +9.

    • @ProfessorPantoja
      @ProfessorPantoja  2 года назад +1

      Sim. O range sempre elimina o bit de sinal. Ele não entra por representar exatamente os positivos e negativos dentro do range restante.

    • @ProfessorPantoja
      @ProfessorPantoja  2 года назад +1

      Não precisamos inverter (ou colocar em complemento a 2) porque somar um número positivo com um número negativo, o segundo número já está automaticamente em complemento a 2. Todo número positivo somado a um negativo, implica em uma subtração (+ com - é -). Então como o segundo já é invertido naturalmente, basta somar!

    • @wagnermh1202
      @wagnermh1202 2 года назад +1

      @@ProfessorPantoja blz prof? Vlw pela atenção! Muito obrigado mesmo!
      Peguei esse de um exercício de complemento a dois com soma, aí o prof explicou no vídeo que o 01001 é -3 e não -7. Como eu descubro essa diferença? Eu fiz a soma errado ali também, né?
      E o range é de -15 pra +16 ou -16 pra +15? Fiquei na dúvida porque no exemplo de 3 bits seu foi de -4 a +3.

    • @ProfessorPantoja
      @ProfessorPantoja  2 года назад +1

      @@wagnermh1202 de nada. Sempre que precisar, é só falar.

  • @reginaldosantos4119
    @reginaldosantos4119 4 года назад +1

    Bom dia professor, quando houver uma situação assim (-45)-(-54) como devo fazer

    • @ProfessorPantoja
      @ProfessorPantoja  4 года назад

      Primeiro coloca o -45 em complemento a 2. Depois coloca o -54 em complemento a 2. Depois diminui somando aplicando a regra do complemento a 2 seguindo os 3 passos: repete o primeiro, inverte o segundo e soma mais 1. Atenção na hora de converter os números para complemento a 2 para não esquecer de considerar o bit de sinal. Lembre-se que menos com menos é mais. Ajudou?

    • @reginaldosantos4119
      @reginaldosantos4119 4 года назад

      Professor Pantoja valeu professor

    • @reginaldosantos4119
      @reginaldosantos4119 4 года назад +1

      Professor Pantoja você pode me explicar o terceiro exercício da sua lista de c2
      aqui vai ele
      :utilizando números de 8 bits, converta os seguintes números para o c2 realize a operação e,então, converta o resultado para decimal.identifique a ocorrência (ou não) de overflow
      I) 4510+2010

    • @ProfessorPantoja
      @ProfessorPantoja  4 года назад

      @@reginaldosantos4119 a primeira coisa que precisa ver é o número máximo que você consegue representar com 8 bits e tirando um bit de sinal. Nesse caso seria 127. Então, já vai dar overflow porque você tem números maiores que isso. Para que não dê overflow, você precisa usar um número de 13 bits mais o bit de sinal. Aí você pode converter tranquilamente e somar. Pode responder assim, com essas soluções.

    • @reginaldosantos4119
      @reginaldosantos4119 4 года назад +1

      Professor Pantoja então daria overflow

  • @wagnerserafim9629
    @wagnerserafim9629 2 года назад +1

    Professor, excelente aula!
    Estou com uma dúvida correlação a quando usar complemento a 2. No exemplo de -1 - (-2) o senhor diz para usar o complemente pois se fizesse a conta normalmente o resultado não seria o esperado, mas, por curiosidade, resolvi fazer do modo padrão
    111
    -110
    001 (+1)
    O resultado é o mesmo, não?
    Testando com outras contas percebi que, se o sinal for o mesmo (números positivos subtraindo números positivos ou negativos subtraindo negativos) o resultado não muda independente de fazer a conta utilizando complemento a 2 ou do modo padrão. Entretanto, ao fazer subtração com números de sinais diferentes, o resultado só é certo quando utilizado complemente a 2. Só quero confirmar se estou certo ou deixei algum detalhe escapar. Obrigado desde já!

    • @ProfessorPantoja
      @ProfessorPantoja  2 года назад +1

      Sim, dependendo dos números que esteja utilizando e dos sinais, pode ser que você tenha problemas no resultado. Perceba que nesse exemplo que você mostrou, os números já estão em complemento a 2. Pegar o número 1 e simplesmente adicionar o bit de sinal, poderia dar um problema. Esse é um ponto.
      Mas quando os números estão representados corretamente, esse problema não acontece. Por isso o positivo com positivo não tem problemas nem o negativo com o negativo também.
      Mas usar a subtração normal com sinais diferentes, você acaba não considerando o sinal, então acontece isso.
      A pergunta certa não é quando usar o complemento a 2 e sim onde ele é usado. Como o processador (a unidade lógico aritmética) só realiza soma, então só nos resta usar o C2.
      Se estivermos representando números negativos e fazendo operações com eles, também é recomendado.
      Ajudei?

    • @wagnerserafim9629
      @wagnerserafim9629 2 года назад +1

      @@ProfessorPantoja ajudou sim professor! Obrigado pela atenção e disponibilidade

    • @wagnerserafim9629
      @wagnerserafim9629 2 года назад +1

      @@ProfessorPantoja entendendo onde ele é usado e o porquê fica bem mais fácil de se entender o C2, obrigado

  • @fabiomanoelmoraisdesouza1863
    @fabiomanoelmoraisdesouza1863 4 года назад +1

    Professor parabéns pelas aulas, eu tô com dúvidas nessa soma, porque a soma de 1+1+1+ deu 1 subiu 1.

    • @ProfessorPantoja
      @ProfessorPantoja  4 года назад

      Vamos pensar em decimal primeiro: 1 + 1 + 1 = 3, e 3 em Binário é 11. Nessa situação, fica 1 e vai 1. Ajudou?

    • @ProfessorPantoja
      @ProfessorPantoja  4 года назад

      Podemos pensar em binário partindo de que a soma da 11. Como 11 (3) é acima do valor da base 10 (2), você pode diminuir 3-2 que dará 1 (o valor que fica). A quantidade de vezes que você diminuiu a base, que aqui foi 1 é o valor que sobe (vai um).

    • @fabiomanoelmoraisdesouza1863
      @fabiomanoelmoraisdesouza1863 4 года назад +2

      @@ProfessorPantoja Deu para entender, esse assunto não é difícil, mas têm muitos detalhes, Estou Cursando Análise de Sistemas, e tem esse assunto em organização de computadores.

    • @ProfessorPantoja
      @ProfessorPantoja  4 года назад

      @@fabiomanoelmoraisdesouza1863 precisando, estamos por aqui. ;)

  • @rennatto9945
    @rennatto9945 Год назад +3

    Desculpa professor, agora que eu vi o vídeo novamente eu consegui entender,

    • @ProfessorPantoja
      @ProfessorPantoja  Год назад +1

      Acontece! ;)

    • @rennatto9945
      @rennatto9945 Год назад +1

      ​@@ProfessorPantojavi o vídeo novamente e consegui entender agora

  • @henriquelessa2963
    @henriquelessa2963 4 года назад

    Professor muito boa a sua aula. Eu gostaria de pedir um esclarecimento sobre o exemplo que você usou. O (+)4, que para ser descrito com bit de sinal precisa de 4 dígitos, deveria ser representado de que maneira em um sistema/número de 3 bits? Estaria errado descrever com dois "Bytes de 3 dígitos" ficando 001 100/000 100 para -4 e +4, respectivamente?

    • @ProfessorPantoja
      @ProfessorPantoja  4 года назад +1

      4 é equivalente a 100. Só nisso já temos 3 bits. Para representar o sinal, precisamos de mais um bit o 0 para representar o positivo: 0100. Para representar +4 é preciso 4 bits. Com 3 bits e um desses sendo o bit de sinal, só conseguimos chegar no 011, com o zero sendo o + e 11 valendo 3, ou seja só chegaremos ao +3.

    • @ProfessorPantoja
      @ProfessorPantoja  4 года назад +1

      Ajudou?

    • @henriquelessa2963
      @henriquelessa2963 4 года назад +1

      @@ProfessorPantoja. Eu estava até meio que sem muita esperança de receber uma resposta tão rápida. Então, pelo que eu entendi, esse número simplesmente não poderia ser representado com sinal em 3 bits. É que estudando, eu me deparei com o termo "Excesso" para se referir a essa situação e junto da instrução:
      -Considere número de m bits.
      -Some 2^m-1 ao número original.
      Que foi o que me bagunçou a razão rsrs

    • @ProfessorPantoja
      @ProfessorPantoja  4 года назад +1

      @@henriquelessa2963 geralmente eu respondo rápido. Estando perto de um PC ou do celular. O Excesso que geralmente calculamos pra definir números reais. Usamos no padrão IEEE754. Da uma olhada no vídeo sobre esse padrão e veja se é isso. Mas mesmo assim, usando o excesso como no IEEE754, eu precisaria usar mais bits. Ou não considerar meu bit de sinal como parte do número de tamanho m. Tem algum lugar de onde você tirou essa informação? Queria dar uma olhada.

    • @ProfessorPantoja
      @ProfessorPantoja  4 года назад +1

      @@henriquelessa2963 mas, dado tudo que você me passou de informação, não vejo como representar +100 com 3 bits mais o sinal.

  • @leandro_fmoraes
    @leandro_fmoraes 2 года назад +1

    Deixa eu ver se entendi. Um número negativo é o inverso de uma unidade abaixo dele?
    o -5 é o inverso do +4,
    o -4 é o inverso do +3,
    o -3 é o inverso do +2....

    • @ProfessorPantoja
      @ProfessorPantoja  2 года назад +1

      Se pegarmos o caso do -1 com 4 dígitos onde o mais significativo é o bit de sinal: 0|001 ficaria 1|111. Se você pegar o próprio +4: 0|100 ficaria 1|100. O +3: 0|011 ficaria 1|101. Então, se fizermos a conversão direta nesse último caso, o +3 equivale ao -5. Tente fazer com mais dígitos e veja o comportamento. Pegue um número de 6 bits por exemplo.

    • @leandro_fmoraes
      @leandro_fmoraes 2 года назад +1

      @@ProfessorPantoja Obrigado professor, vou tentar aqui.

    • @ProfessorPantoja
      @ProfessorPantoja  2 года назад

      @@leandro_fmoraes beleza. Depois me fala o que achou!

  • @kalinag1255
    @kalinag1255 5 лет назад +1

    Presente

  • @vibra4932
    @vibra4932 Год назад +1

    Meu celular tá com o fone queimado ou o vídeo é baixo mesmo ?

    • @ProfessorPantoja
      @ProfessorPantoja  Год назад +1

      O vídeo é baixo mesmo. Não sabia configurar na época. Mas os demais vídeos estão bem melhores! 😉

    • @vibra4932
      @vibra4932 Год назад

      @@ProfessorPantoja ótima
      aula professor. me ajudou muito !!!! obrigado .

  • @jenni4821
    @jenni4821 4 месяца назад +1

    Primeira vez que vi o vídeo não entendi nada kkkkk, tive que assistir mais duas vezes para entender. Obrigada, professor. Sua didática é boa, só é a matéria que não ajuda muito.

    • @ProfessorPantoja
      @ProfessorPantoja  3 месяца назад +1

      Aos poucos ela vai ficando mais fácil! Foco ai e bons estudos!