Mudanças entre as edições de "Tamara Ramos Arrigoni"

De MediaWiki do Campus São José
Ir para: navegação, pesquisa
(Vídeos Teste)
(Vídeos Teste)
Linha 411: Linha 411:
  
  
Nesse tipo de representação(complemento de 2) é importante lembrar que o bit mais significativo representará o sinal. Portanto o bit 1 no início representará um número negativo, e um bit zero no início representará um número positivo, e os demais números, idependente do bit, serão positivos  
+
Nesse tipo de representação(complemento de 2) é importante lembrar que o bit mais significativo representará o sinal. Portanto o bit 1 no início representará um número negativo, e um bit zero no início representará um número positivo, e os demais números, independente do bit, serão positivos. Quando fazemos complemento de 2 de um número, apenas vamos representá-lo com seu sinal invertido, se o número de origem é positivo, ele ficará negativo, se for negativo, ficará positivo.
 +
 
 
Voltemos ao exemplo:
 
Voltemos ao exemplo:
  
  
 
O número encontrado anteriormente, 101001, equivale então à '''-1'''x2^5 + '''0'''x2^4 + '''1'''x2^3 + '''0'''x2^2 + '''0'''x2^1 + '''1'''x2^0 = -32 + 0 + 8 + 0 + 0 + 1 = -23 decimal.
 
O número encontrado anteriormente, 101001, equivale então à '''-1'''x2^5 + '''0'''x2^4 + '''1'''x2^3 + '''0'''x2^2 + '''0'''x2^1 + '''1'''x2^0 = -32 + 0 + 8 + 0 + 0 + 1 = -23 decimal.
 +
 +
 +
Algumas representação em complemento de dois:
 +
 +
 +
100010  - é um número negativo, -32+2 = 30
 +
010010 - é um positivo, 16 + 2 = 18
 +
111111 - é um negativo -31 + 16+8+4+2+1 = -1
 +
111 - é um negativo -4+2+1 = -1
 +
0111 - é um positivo +4+2+1 = 7
  
  
Linha 428: Linha 439:
  
 
101001 = -22 (complemento de um)
 
101001 = -22 (complemento de um)
 +
  
  
Linha 468: Linha 480:
 
;Exemplo 1:
 
;Exemplo 1:
  
Ao somarmos o valor 1001 e 101, que correspondem, respectivamente, ao 9 e 5 decimal, é necessário colocarmos um zero à esquerda do valor 101 para que este tenha o mesmo número de bits que o primeiro, e também mais um zero na frente de ambos, para garantir a validade do resultado ao realizarmos a operação.
+
Ao somarmos o valor 1001 e 101 (considerando a representação '''sem sinal''') que correspondem, respectivamente, ao 9 e 5 decimal, é necessário colocarmos um zero à esquerda do valor 101 para que este tenha o mesmo número de bits que o primeiro, e também mais um zero na frente de ambos, para garantir a validade do resultado ao realizarmos a operação.
  
 
[[Imagem:soma1.png|200px]]
 
[[Imagem:soma1.png|200px]]
Linha 477: Linha 489:
 
;Exemplo 2:
 
;Exemplo 2:
  
Ao somarmos o valor 1001 e 1010, que correspondem, respectivamente, ao 9 e 10 decimal, também devemos colocar o zero a mais na frente de ambos para que o resultado esteja certo.
+
Ao somarmos o valor 1001 e 1010 (considerando a representação '''sem sinal'''), que correspondem, respectivamente, ao 9 e 10 decimal, também devemos colocar o zero a mais na frente de ambos para que o resultado esteja certo.
  
 
[[Imagem:soma2.png|200px]]
 
[[Imagem:soma2.png|200px]]
Linha 491: Linha 503:
  
 
;Procedimento planejado
 
;Procedimento planejado
 +
 +
Podemos realizar a subtração binária entre dois números sendo eles dois números positivos, dois números negativos, ou um número negativo e outro positivo. Em nosso exemplo iremos realizar a subtração considerando positivo ambos os números.
  
 
A subtração binária se baseia em uma soma onde o segundo termo é invertido. Ou seja, somamos o primeiro termo com o oposto do segundo, e para isso, utilizaremos o '''complemento de dois'''.
 
A subtração binária se baseia em uma soma onde o segundo termo é invertido. Ou seja, somamos o primeiro termo com o oposto do segundo, e para isso, utilizaremos o '''complemento de dois'''.
  
Assim como na soma, é necessário que ambos os termos tenham a mesma quantidade de bits para que a operação possa ser realizada e é necessário adicionarmos um bit para representar o sinal também. Portanto, deve-se lembrar que o '''bit 1''' como bit de sinal tem peso '''negativo''', e o '''bit 0''' tem peso '''positivo'''.
+
Assim como na soma, é necessário que ambos os termos tenham a mesma quantidade de bits para que a operação possa ser realizada e é necessário adicionarmos um bit para representar o sinal também. Portanto, deve-se lembrar que o '''bit 1''' como bit de sinal tem peso '''negativo''', e o '''bit 0''' tem peso '''positivo'''.  
 +
 
 +
No caso da representação '''sem sinal''', basta colocarmos quantos zeros forem preciso a frente do número original, se estivermos utilizando '''números em complemento de dois''', devemos preencher utilizando o bit de sinal, se for '''1''', preenchemos com '''1''', se for '''zero''', preenchemos com '''zero'''.
 +
 
 +
'''sem sinal''':
 +
111 (4+2+1 = 7) em 3 bits  = 00000111 (4+2+1 = 7) em 8 bits
 +
'''complemento de dois''':
 +
0111 (4+2+1 = 7) em 4 bits = 000111 (4+2+1 = 7) em 6 bits 
 +
1001 (-8+1 = -7) em 4 bits = 111001 (-32+16+8+1 = -7) em 6 bits
 +
 
  
 
Exemplo:
 
Exemplo:

Edição das 13h05min de 15 de junho de 2014

Participa do projeto Vídeo-tutoriais de ensino como ferramentas de auxílio - aplicação na área de circuítos lógicos.

Reuniões semanais de orientação

Dia de reunião com orientador: TER das 13h30 as 14h15

1ª reunião - 01/abr/2014
  • Identificar os Apps mais adequados para gravação de video aula. (gravação da sequencia de entrada por tela touch, gravação do audio, exportar para youtube, edição de video e audio)
  • Treinar o traçado de linhas, figuras geométricas, e escrita (cursiva, caixa alta).
  • Assistir a alguns videos na Khan Academy e analisar como os videos se desenrolam.
2ª reunião - 08/abr/2014
  • Verificar o aplicativo UTGreat Witheboard
  • Ver tabela de comparação de aplicativos
3ª reunião - 06/maio/2014
  • Iniciando a preparação dos storyboards para o primeiro vídeo tutorial.


Horário do bolsista

SEG (3h) - 17h30-20h30

TER (5h) - 15h00-20h30

QUA (2h) - 17:30-18:30

QUI (5h) - 15h00-20h30

SEX (5h) - 13h00-18h00

Diário/Semanário

Primeira Semana (01/04 – 08/04)

  • Pesquisa de aplicativos para o desenvolvimento do projeto;
  • Treinamento de escrita e desenho nos apps.


Segunda semana (08/04 – 15/04)

  • Pesquisa de outros aplicativos para desenvolvimento do projeto;
  • Manuseio dos aplicativos encontrados que puderam ser instalados no tablet.


Terceira semana (15/04 – 22/04)

Kindle reader para PC, ou Kindle App para Android ou IOS


Quarta semana (22/04 - 29/04)

  • Pesquisa de aplicativos para captura de imagem e aúdio a partir da tela do tablet;
  • Entendendo como fazer acesso Root;
  • Entendendo como fazer um storyboard.


Quinta semana (29/04 - 06/05)

  • Iniciando a preparação do primeiro storyboard para realizar o VTE.


Sexta semana (06/05 - 13/05)

  • Teste de elaboração do primeiro VTE;
  • Se adaptando ao app;
  • Verificando melhor maneira de realizar o VTE (texto/escrita por tela).


Sétima semana (12/05 - 20/05)

  • Elaboração dos primeiros vídeos teste (item 4.4);


Oitava semana(20/05 - 27/05)

  • Aprimoramento dos vídeos teste;


Nona semana(27/05 - 03/06)

  • Colocar procedimento dos vídeos na wiki;
  • Gravação de novos vídeos teste;
  • Fazer diagrama dos VTEs;


Décima semana(03/06 - 10/06)

  • Aprimorando conceitos gerais para preparar o relatório
  • Rascunho do relatório


Décima Primeira Semana(10/06 - 17/06)

  • Novas alterações nos vídeos, novas gravações
  • Aprimorando conceitos gerais para preparar o relatório
  • Rascunho do relatório

Relatório do Projeto

A maioria dos aplicativos pesquisados é de uso pessoal, no geral, para manter a organização diária, de eventos e compromissos através de eventuais anotações/lembretes. Alguns possuem a possibilidade de inserir gravação de áudio, vídeo e foto, acessados através da biblioteca do aparelho ou realizados no instante desejado.

O foco da pesquisa dos aplicativos era encontrar algum que possuísse um quadro iterativo, com gravação de áudio e imagem simultâneos, assim seria possível gravar a imagem do quadro, realizando explicações e observações importantes para o vídeo tutorial de ensino em questão.

Visto isso, houve certa dificuldade em encontrar algum aplicativo que atendesse essas funções. Praticamente todos os aplicativos free, encontrados na Google Play, que possuíam um quadro iterativo, não tinham a possibilidade de gravá-lo juntamente com o áudio. Os que aparentemente teriam o necessário, eram incompatíveis com o aparelho utilizado (neste caso, o Tablet Educacional da Positivo).


Tabela de Apps de anotações/quadro interativo

OBS: Avaliação de escrita e gravação de áudio/vídeo no quadro iterativo variando de 1 a 5, onde 5 é a nota máxima.

App IOS Android Escreve Grava Compartilha pelo YouTube Possui site de Controle Compatível com o Tablet
Lensoo - X 2 4 - X X
Doceri X - 5 5 - X -
Educreations X - 4 4 - X -
iTouch - X 3 - - - X
NoteLedge X X 4 - - X X
UTGreat Whiteboard X X 5 5 - X X
Free Note - X 5 - - X X
Everything - X 3 - - X X
INKredible X X 4 - - X X


Portanto, foi considerada a possibilidade de usarmos dois apps de forma simultânea. Um para a gravação da imagem da tela do Tablet, juntamente com o áudio, e outro para o desenvolvimento da aula em si, de forma paralela.

Após uma pesquisa sobre aplicativos que atendessem as funções citadas anteriormente, segue-se a tabela:

App IOS Android Com acesso Root Sem acesso Root
ASC - X X X
SRC grátis - X X -
Recordable Free - X X X
ScreenCast - X X -

Os aplicativos que não necessitam acesso ROOT, não puderam ser instalados no Tablet por não ser compatível com as características do mesmo. Sendo assim, usaremos o app Lensoo Create para desenvolver os testes de vídeo-tutoriais.

Os vídeos tutorias serão produzidos de forma a se complementar, criando uma rede onde cada vídeo depende conceitualmente de outro para ser entendido da maneira correta.

Estudo dos Apps

Requisitos avaliados no aplicativo para atender ao projeto:

  • Quadro Iterativo
  • Gravação de imagem
  • Gravação de áudio
  • Funções de edição
  • Modo de Compartilhamento do material

Assuntos Video-Aulas de ensino de CIL29003 a serem gravadas

  • VTE1 - Divisão Binária
  • VTE2 - Complemento de dois
  • VTE3 - Representação Binária
  • VTE4 - Soma Binária
  • VTE5 - Subtração Binária com C2
  • VTE6 - Mapa de Karnaugh.
  • VTE7 - Funcionamento de um decodificador 2 para 4.


<graphviz caption='Hello SVG and PNG' alt='phylogenetic tree' format='png'> digraph G {

             node [shape=plaintext];
             REPRESENTAÇÃO_BINÁRIA[URL="http://create.lensoo.com/watch/b6pW/"];
             SOMA_BINÁRIA[URL="http://create.lensoo.com/watch/b6pV/"];
             COMPLEMENTO_DE_DOIS[URL="http://create.lensoo.com/watch/b6pW/"];
             SUBTRAÇÃO_BINÁRIA[URL=""];
             DIVISÃO_BINÁRIA[URL="http://create.lensoo.com/watch/b68d/"];
             X1[shape=point,label=""];
             X2[shape=point,label=""];
           
             

REPRESENTAÇÃO_BINÁRIA->X1 X1->SOMA_BINÁRIA->X2 X1->COMPLEMENTO_DE_DOIS->X2 X1->SUBTRAÇÃO_BINÁRIA->X2 X2->DIVISÃO_BINÁRIA;


</graphviz>


Desenvolvendo um VTE

O processo de produção de vídeos

O processo de produção de um vídeo tem, basicamente, três etapas:

Pré-Podução: Onde há a preparação e o planejamento do vídeo a ser produzido. É abrangido nessa etapa todas as demais atividades que serão realizadas, desde a concepção da ideia inicial até a finalização do vídeo:


  • Sinopse: resumo geral do que será apresentado no vídeo.
  • Roteiro: Tem o objetivo de orientar e informar textualmente aquilo que o espectador verá e ouvirá no vídeo.
  • Storyboard: É uma representação das cenas do roteiro em forma de desenhos sequenciais. Tem como objetivo facilitar a visualização das cenas antes que sejam gravadas.


Produção: Etapa onde são realizadas as gravações das cenas que irão compor o vídeo.

Pós Produção: É a última etapa, a qual recobre todas as atividades até então realizadas para a finalização do vídeo.

Em nosso projeto, não possuímos/realizamos a última etapa, pois não é possível editarmos o vídeo diretamente do aplicativo escolhido após o salvarmos.

Importante:

  • Fazer um storyboard contendo a disposição que se pretende no vídeo;
  • Anotar conceitos/explicações que terão que ser mencionadas;
  • Pressupor que quem for assistir ao vídeo saiba os pré-requisitos necessários para o bom entendimento do mesmo;
  • Realizar a apresentação do vídeo sem poluição visual.


Processo de desenvolvimento


Ao iniciarmos o desenvolvimento de um vídeo tutorial, devemos levar em consideração algumas características presentes no software escolhido que possam nos auxiliar, como:


  • Inserção de documentos em formato PDF;
  • Escrita ou desenho a mão livre através de uma caneta touch ou o próprio dedo;
  • Opção para inserção de texto digitado;
  • Opção para inserção de imagens;
  • Remoção de todos os desenhos, ou imagens inseridas ou apenas do que for desejado;
  • Possibilidade de alterar a cor de fundo para qualquer uma que o aplicativo dispõe ou para uma imagem semelhante à um quadro de aula ou até mesmo uma folha de caderno;
  • Opção para inserção de figuras geométricas.
  • Opção para iniciar/parar a gravação de áudio e imagem do aplicativo, num total de 15 minutos de gravação.
  • Possibilidade de utilizar mais de uma lâmina/página por vídeo.


Para facilitar o processo, optamos por organizar o quadro (alterar fundo, adicionar imagens, adicionar textos, número de lâminas) antes de iniciar a gravação, assim não perdemos tempo de gravação e tornamos o vídeo mais objetivo.

Como um dos pontos adotados para a produção dos VTEs é que eles não sejam tão longos, a opção de iniciar e parar a gravação para depois retomá-la é de grande utilidade e indispensável nesse caso.

Os primeiros testes foram realizados sem que essa vantagem fosse aproveitada, além de utilizarmos o escrita a mão livre, porém os vídeos ficaram mais extensos do que o desejado e a manipulação da escrita/desenho a mão livre não é tão prática para ser usada nas nossas produções. Portanto, nos vídeos seguintes, foi adotada a opção de inserção de texto e a escrita a mão livre ficou limitada somente para a identificação/sinalização de alguns pontos no decorrer dos vídeos, permitindo assim uma apresentação visual mais agradável àqueles que assistirão aos VTEs.

Nos segundos testes de Complemento de 2 e Soma Binária, foi adotado outro atributo que o aplicativo dispõe, que é a inserção de imagens. Como foram usadas tabelas para facilitar o entendimento sobre representação binária (explicada junto ao complemento de dois) e soma binária e seus carrys, utilizamos o opção que temos no Google Drive de criar um desenho para depois o adicionarmos ao nosso VTE em um formato png. Assim, a princípio, não obtivemos problemas com a disposição de imagens/textos no quadro de uma forma geral, o que pôde ser notado em produções anteriores.

Vídeos Teste

Divisão Binária

Divisão Binária - Teste 1

Divisão Binária - Teste 2

Comentários

O primeiro vídeo teste foi produzido com o intuito de testar o aplicativo para um desenvolvimento completo de uma vídeo aula em si, sem levar em consideração quesitos de organização, os quais foram observados e considerados no segundo vídeo teste, no qual optou-se pela mudança de cores para melhor identificação e diferenciação dos números num todo, bem como um aspecto mais agradável ao quadro.

Ao analisarmos o primeiro teste, concluiu-se que o uso da escrita livre não se adequou da maneira esperada, pois os formatos irregulares e distorcidos, algumas vezes, podem prejudicar o entendimento do espectador e deixar o quadro com um aspecto confuso, portanto, no segundo teste foi utilizada a escrita em modo texto e o modo manuscrito apenas para sinalização/identificação de algo.

Para que o teste 2 não ficasse tão extenso como o teste 1, decidiu-se abranger apenas um assunto específico, no caso, divisão binária ( assuntos pré-requisitos serão explicados de forma detalhada em vídeos exclusivos para casa um deles), passou-se a parar e retomar a gravação de tela/áudio de modo com que houvesse continuidade da aula e economia de tempo, e os traços de sinalização passaram a ser removidos após serem usados para evitar uma poluição visual no VTE.

OBS: Ao salvar o vídeo no aplicativo, ele altera a posição do que foi escrito de forma manual. Podemos notar tal fato no segundo teste, onde, antes de começar o vídeo(quando esta carregando), o quadro esta organizado de forma correta, e a partir do momento que o vídeo inicia, a "barra" de divisão fica posicionada sobre o divisor.




Complemento de Dois

Complemento de Dois - Teste 1

Complemento de Dois (e Representação Binária) - Teste 2

Sugestões de melhoria

  • Iniciar mostrando o peso dos bits e a soma(decimal) resultante;
  • Referenciar no exemplo a representação binária sem sinal, com sinal positivo e com sinal negativo;
  • Ressaltar que o MSB corresponde ao sinal(tanto para número negativos quanto positivos);
  • Falar dos pesos dos bits, destacando o primeiro MSB terá peso negativo(para número negativos representados por C2);
  • Mostrar que, de acordo com a representação que esta se utilizando, é possível que a mesma sequência de bits represente valores diferentes.
Procedimento planejado para o Teste 2

-Inicia com representação binária e posteriormente explica o complemento de dois.

Representacao.png

Cada espaço preenchido com o valor 1, corresponde ao valor de 2 elevado a potência correspondente a cada espaço(crescente da direita para a esquerda) multiplicado por 1, e cada espaço preenchido com o valor zero, corresponde ao valor de 2 elevado à potência correspondente ao espaço multiplicado por zero.

Por exemplo, o número binário 10111, quando utilizamos uma representação sem sinal, equivale à 1x2^4 + 0x2^3 + 1x2^2 + 1x2^1 + 1x2^0 = 16 + 0 + 4 + 2 + 1 = 23 decimal (positivo).

Para representar um número em complemento de dois, acrescenta-se um zero a frente do bit mais significativo, que será o bit de sinal.


10111 -> 010111 (+23 em decimal)


Depois disso, para obtermos o número negativo em complemento de dois invertemos todos os bits do número positivo e somamos à ele o valor 1.


0 10111 -> 101000 + 1 = 101001


Nesse tipo de representação(complemento de 2) é importante lembrar que o bit mais significativo representará o sinal. Portanto o bit 1 no início representará um número negativo, e um bit zero no início representará um número positivo, e os demais números, independente do bit, serão positivos. Quando fazemos complemento de 2 de um número, apenas vamos representá-lo com seu sinal invertido, se o número de origem é positivo, ele ficará negativo, se for negativo, ficará positivo.

Voltemos ao exemplo:


O número encontrado anteriormente, 101001, equivale então à -1x2^5 + 0x2^4 + 1x2^3 + 0x2^2 + 0x2^1 + 1x2^0 = -32 + 0 + 8 + 0 + 0 + 1 = -23 decimal.


Algumas representação em complemento de dois:


100010 - é um número negativo, -32+2 = 30 010010 - é um positivo, 16 + 2 = 18 111111 - é um negativo -31 + 16+8+4+2+1 = -1 111 - é um negativo -4+2+1 = -1 0111 - é um positivo +4+2+1 = 7


É importante lembrar também que a representação utilizada pode alterar o valor de uma mesma sequência de bits. Tomando como exemplo a sequência resultante do complemento de dois:


101001 = 41 (sem sinal)

101001 = -23 (complemento de dois)

101001 = -9 (sinal magnitude)

101001 = -22 (complemento de um)




Soma Binária

Soma Binária - Teste 1

Soma Binária - Teste 2

Sugestões de melhoria

  • Inverter tabela. Partir do 00 até 11;
  • Fazer tabela adicional com Carry In(Cin);
  • Mostrar um caso em que ocorre um Carry no último bit;
Procedimento planejado para o Teste 2

- Iniciar com tabelas de soma e Cin.

Tabela 1
Representa o valor da soma de dois números binários e o carry correspondente à ela.

Somab.png


Tabela 2
Representa a soma de dois números binários e considera o Cin, que é o carry proveniente de uma soma anterior e que é considerado para realizar a soma autal, e o Cout, que é o carry resultante da soma atual.

Cin.png


Antes de somar dois números binários, é necessário verificar se a quantidade de bits é a mesma. Caso não seja, é preciso adicionar zeros à esquerda do número que possui menos bits, com o objetivo de igualar essa quantidade. É importante também colocarmos um zero a mais à frente dos números para que, caso haja carry no último bit, o resultado da operação seja correto.

O carry no último bit irá existir quando, ao somarmos dois números, o resultado necessite de um bit a mais para representar o valor correto. Por exemplo, em geral, com N bits podemos representar números inteiros positivos de 0 a 2^n - 1, então, se somarmos dois números com quatro bits (N=4), poderemos ter como resultado apenas números entre zero e 15 (2^4-1). Se esses números fossem 9 e 10(como veremos no Exemplo 2), nosso resultado seria 19, que não pode ser representado apenas por quatro bits. Neste caso, é preciso um bit a mais para a representação correta do resultado.

Outro modo de realizar a operação é simplesmente somarmos os bits, e caso o último carry seja igual à 1, utilizamos um bit a mais para representar o número(resultado).


Exemplo 1

Ao somarmos o valor 1001 e 101 (considerando a representação sem sinal) que correspondem, respectivamente, ao 9 e 5 decimal, é necessário colocarmos um zero à esquerda do valor 101 para que este tenha o mesmo número de bits que o primeiro, e também mais um zero na frente de ambos, para garantir a validade do resultado ao realizarmos a operação.

Soma1.png

Neste exemplo não possuímos carry no último bit, mas é importante colocarmos os zeros do mesmo jeito. Chegamos ao resultado 01110 que equivale ao 14 decimal, portanto, nossa conta esta correta.

Exemplo 2

Ao somarmos o valor 1001 e 1010 (considerando a representação sem sinal), que correspondem, respectivamente, ao 9 e 10 decimal, também devemos colocar o zero a mais na frente de ambos para que o resultado esteja certo.

Soma2.png

Neste exemplo, possuímos um carry no último bit. Se não colocássemos os zeros a mais no números, obteríamos um resultado errado, pois não haveria bit para que o carry descesse e ficaríamos com um resultado 0011 (3 decimal), e não o resultado 10011(19 decimal) que é o correto.




Subtração Binária


Procedimento planejado

Podemos realizar a subtração binária entre dois números sendo eles dois números positivos, dois números negativos, ou um número negativo e outro positivo. Em nosso exemplo iremos realizar a subtração considerando positivo ambos os números.

A subtração binária se baseia em uma soma onde o segundo termo é invertido. Ou seja, somamos o primeiro termo com o oposto do segundo, e para isso, utilizaremos o complemento de dois.

Assim como na soma, é necessário que ambos os termos tenham a mesma quantidade de bits para que a operação possa ser realizada e é necessário adicionarmos um bit para representar o sinal também. Portanto, deve-se lembrar que o bit 1 como bit de sinal tem peso negativo, e o bit 0 tem peso positivo.

No caso da representação sem sinal, basta colocarmos quantos zeros forem preciso a frente do número original, se estivermos utilizando números em complemento de dois, devemos preencher utilizando o bit de sinal, se for 1, preenchemos com 1, se for zero, preenchemos com zero.

sem sinal: 111 (4+2+1 = 7) em 3 bits = 00000111 (4+2+1 = 7) em 8 bits complemento de dois: 0111 (4+2+1 = 7) em 4 bits = 000111 (4+2+1 = 7) em 6 bits 1001 (-8+1 = -7) em 4 bits = 111001 (-32+16+8+1 = -7) em 6 bits


Exemplo:

Ao subtrairmos de 10111 o número 100, que correspondem ao número 23 e 5 decimal, respectivamente. É necessário igualarmos os bits e adicionarmos o bit de sinal em ambos ( 010111 - 000100), para depois, fazermos o complemento de dois do segundo termo e realizarmos a soma do primeiro termo com o oposto do segundo. O complemento de dois do número binário 000100 é igual à 111100 (-4 decimal).

Sub (1).png

Em algumas subtrações, como essa do exemplo, há ocorrência de overflow, ou seja, o número de bits ultrapassa o número de bits da subtração. O que devemos fazer, em casos assim, é desconsiderar esse bit.

Obtemos através do exemplo o resultado binário 010011, que equivale, em decimal à + 0x2^5 + 1x2^4 + 0x2^3 + 0x2^2 + 1x2^1 + 1x2^0 = 0 + 16 + 0 + 0 + 2 + 1 = +19.

Caso troquemos os termos e realizemos a operação 000100 - 010111, iremos obter o resultado negativo. Vejamos a seguir: O complemento de dois do número binário 010111 é igual à 101001(-23 decimal).

Sub1.png

Obtemos através desse exemplo, o resultado binário 101101, que equivale, em decimal à - 1x2^5 + 0x2^4 + 1x2^3 + 1x2^2 + 0x2^1 + 1x2^0 = -32 + 0 + 8 + 4 + 0 + 1 = -19.