Natureza da Informação
Baseado no Material do Prof. David Correa Martins Jr
Bit, sistemas numéricos, conversões,
aritmética Booleana, álgebra Booleana
• Processo que tem origens desde as
pinturas rupestres, da narrativa oral,
passando pela evolução da escrita...
...
do teatro e da dança,
da tipografia... que
continua a se
transformar com os
computadores!
Pernambuco• Exemplo: Som
Universo de Representação Universo de Implementação 8 7 9 9 8 7 9 6 7 8 9 88
7
9
9
8
7
9
6
7
8
9
8
By M. Gattass Ondas mecânicas Sinais ou funções “analógicas” Sinais ou funções “discretas” Conjunto de dígitos Universo Físico Universo Matemático• Vamos nos ater à
representação da informação
nos computadores
• O
computador
armazena
e
movimenta
as
informações.
• Reconhece
dois estados físicos
distintos, produzidos
pela eletricidade, pela polaridade magnética ou pela luz
refletida etc.
• Só consegue processar duas informações: a
presença
ou
ausência
de energia.
Tipo de grandeza:
• Dispositivos analógicos
– São caracterizados por lidarem com
grandezas contínuas;
– As variáveis do problema são
representadas por valores que são
quantidades físicas contínuas;
– Exemplos:
• Termômetro: A dilatação de mercúrio é análoga à mudança de temperatura
• Velocímetro de ponteiro • Balança de molas
• Tensões num circuito
Tipo de grandeza:
• Dispositivos eletrônicos digitais
– Trabalham com níveis discretos
de sinais elétricos
– Representam dados por meio de
um símbolo facilmente
identificado (dígito binário).
• Os computadores digitais são o
foco desta aula.
Tipos de grandezas representadas
• Analógica contínua: análoga ao processo físico.
• Digital discreta: representada sequência de
quantidades discretas, p. ex., números inteiros.
Exemplos:
• Eletrônica analógica –
TV convencional, microfone, rádio (modelos antigos)...
• Eletrônica digital –
TV digital, mp3 player, câmera digital, celular...
Como os computadores modernos representam as
informações?
• Computador Digital
– Normalmente, a informação a ser processada é de
forma numérica ou texto
codificada internamente
através de um código numérico
– Representado por 2 valores:
• 1
(Verdadeiro), habitualmente associado a
HIGH
• 0
(Falso), habitualmente associado a
LOW
– Cada dígito (0 ou 1) designa-se por bit de “Binary
digIT
”
• Um bit pode representar apenas 2 símbolos (0 e 1);
• Necessidade - representar eletricamente
todos os
símbolos utilizados na linguagem humana
. Daí, seriam
necessários mais de 100 diferentes valores de tensão (ou
de corrente).
• Unidade maior (bloco de bits) - precisa ter bits
suficientes para representar todos os símbolos que
possam ser usados:
– dígitos numéricos,
– letras maiúsculas e minúsculas do alfabeto, – sinais de pontuação,
– símbolos matemáticos e assim por diante.
118
Total
24
Caracteres de controle
32
Sinais de pontuação e outros símbolos
10
Algarismos
26
Caracteres alfabéticos minúsculos
26
Caracteres alfabéticos maiúsculos
Necessidade:
Capacidade de representação:
1024 10 512 9 256 8 128 7 64 6 32 5 16 4 8 3 4 2 Símbolos BitsBITS
Com um bloco de N dígitos binários podemos representar 2 elevado a N coisas diferentes
• BYTE (BInary TErm)
– Grupo ordenado de 8 bits, para efeito de
manipulação interna mais eficiente;
– Tratado de forma individual, como unidade de
armazenamento;
– Unidade de memória usada para representar um
caractere.
O termo byte foi criado por Werner Buchholz em 1956 durante o
desenho do computador IBM Stretch. Inicialmente era um grupo de 6
bits, mas logo se transformou em um de 8 bits. A palavra é uma
mutação de bite, para não se confundir com bit.
• Todos os caracteres são codificados e decodificados
pelos computadores através dos bytes, permitindo a
comunicação entre o usuário e a máquina
• Os sistemas mais importantes desenvolvidos para
representar caracteres com números binários (bits):
– EBCDIC (Extended Binary Coded Decimal Interchange Code) – Código Ampliado de Caracteres Decimais Codificados em Binário para o Intercâmbio de Dados;
– ASCII (American Standard Code for Information Interchange) – Código Padrão Americano para o Intercâmbio de Informações;
– UNICODE (Unicódigo).
• EBCDIC
– Código de 8 bits (256 símbolos);
– Usado em mainframe IBM e em sistemas de médio porte. • ASCII
– Padrão definido pela American National Standards Institute. – Código de 8 bits;
– No PC existe o ASCII Estendido (utiliza códigos superiores a 128 para símbolos gráficos, e línguas diferentes do inglês).
• UNICODE
– Novo padrão para representação de dados, oferece 2 bytes para a representação de símbolos (mais de 65.000 símbolos).
– http://www.unicode.org
1 byte = 8 bits = 1 caractere (letra, número ou símbolo)
Partes do conjunto de caracteres ASCII
DEL 0111 1111 ESC 0001 1011 = 0011 1101 < 0011 1100 b 0110 0010 a 0110 0001 B 0100 0010 A 0100 0001 Caractere BinárioArmazenamento de informações nos computadores:
Bit - 2 estados (0 e 1): unidade de informação correspondente a
um dígito binário
240=1.099.511.627.776 1.024 GB TB Terabyte 230=1.073.741.824 1.024 MB GB Gigabyte 220=1.048.576 1.024 KB MB Megabyte 210=1.024 1.024 bytes KB Quilobyte (ou Kilobyte) 8 bits B ByteA INFORMAÇÃO E SUA REPRESENTAÇÃO
Tal como existem unidades para medir pesos (miligrama, grama, kilograma,...) e distâncias (milímetro, centímetro, decímetro, metro, ...), também existem unidades para medir informação (bit, byte,
• Prefixos para unidades numéricas: Kilo, Mega e Giga
possuem duas interpretações:
• Armazenamento de dados: quantidade de dados na memória do computador ou em um arquivo é medido em bytes.
• Expresso com potência de 2
• Exemplo: kilobyte (1kB) = 1.024 bytes
.
• Transmissão de dados: definidos pelo sistema internacional (SI) de unidades.
• Expresso com potência de 10
• Exemplo: kilobit por segundos (1kbps) = 1000bps
.
Indicações numéricas:
Sistema de Numeração
• Conjunto de símbolos utilizados para representação de
quantidades
• Cada sistema de numeração é apenas um método
diferente de representar quantidades
• As quantidades em si não mudam, mudam apenas os
símbolos usados para representá-las.
• A quantidade de algarismos disponíveis em um dado
sistema de numeração é chamada de
base
• Representação numérica mais empregada:
notação
posicional
Notação Posicional
• Valor atribuído a um símbolo dependente da posição
em que ele se encontra no conjunto de símbolos que
representa uma quantidade;
• O valor total do número é a soma dos valores
relativos de cada algarismo.
Sistema de numeração
decimal
735
573
Notação Não Posicional
• Valor atribuído a um símbolo é inalterável, independente
da posição em que se encontre no conjunto de símbolos
que representam uma quantidade.
Sistema de Numeração
Romano
XXI
XIX
• Sistema de numeração – código
• Operação básica – contagem
• Grupo com um determinado número de objetos – base
(raiz)
• Sistemas de numeração básicos:
– Decimal
– Binário
– Hexadecimal
– Octal
O sistema de numeração que nós usamos é o
decimal
Chama-se decimal (base 10) porque utiliza 10 símbolos:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Com estes 10 símbolos somos capazes de construir números
tais como 747
O número 747 tem uma sequência de 3 símbolos (ou algarismos), dois dos quais repetidos (dois setes)
No entanto, o primeiro 7 tem um valor diferente do segundo 7
O primeiro vale 700 (7 centenas) mas o segundo já só vale 7 (7 unidades)
747 = 700 + 40 + 7 = 7*102 + 4*101 + 7*100
Resumindo, os algarismos têm um valor diferente consoante a sua posição
No sistema decimal, o peso dos algarismos são potências de 10
Exemplos de Sistemas de Numeração
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
16
Hexadecimal
0,1,2,3,4,5,6,7,8,9,A,B
12
Duodecimal
0,1,2,3,4,5,6,7,8,9
10
Decimal
0,1,2,3,4,5,6,7
8
Octal
0,1,2
3
Ternário
0,1
2
Binário
Algarismos
Base
Sistema
Como os números representados em base 2 são muito extensos e, portanto, de difícil manipulação visual, costuma-se representar
externamente os valores binários em outras bases de valor mais elevado (octal ou hexadecimal). Isso permite maior compactação de algarismos e melhor visualização dos valores.
Conversões
• Para se passar para a base 2 qualquer número da
base 10, basta dividir o número na base 10 por 2 e
seus quocientes sucessivamente até dar quociente
0
• Os restos (na ordem inversa de obtenção) formam
a representação do número na base 2
• Exemplo:
• 57 na base 10 escrito na base 2 fica:
– 57 ÷ 2 = 28 e resto 1
– 28 ÷ 2 = 14 e resto 0
– 14 ÷ 2 = 7 e resto 0
– 7 ÷ 2 = 3 e resto 1
– 3 ÷ 2 = 1 e resto 1
– 1 ÷ 2 = 0 e resto 1
• Portanto (57)
10= (111001)
2Conversões
• Para se obter um número na base 10 a partir de
um número na base 2, basta multiplicar o dígito
na seqüência do número pela potência de 2
elevado a ordem do dígito, e somar todas as
parcelas
• Exemplo:
( 1 1 1 0 0 1 )
2=
( 1 . 2
5+ 1 . 2
4+ 1 . 2
3+ 0 . 2
2+ 0 . 2
1+ 1 . 2
0)
10=
(57)
10Conversões
• Para se passar da base 10 para a base 16,
segue-se o mesmo raciocínio aplicado a base
binária
• Exemplo:
– 297 ÷ 16 = 18 e resto 9
– 18 ÷ 16 = 1 e resto 2
– 1 ÷ 16 = 0 e resto 1
• Portanto, (297)
10= (129)
16Conversões
• Exemplo:
– 333 ÷ 16 = 20 e resto 13
– 20 ÷ 16 = 1 e resto 4
– 1 ÷ 16 = 0 e resto 1
• Portanto, (333)
10= (14D)
16• Recuperando os números da base 16 na base
10, temos:
– (129)
16= (1 . 16
2+ 2 . 16
1+ 9 . 16
0)
10= (297)
10– (14D)
16= (1 . 16
2+ 4 . 16
1+ 13 . 16
0)
10= (333)
10Conversões
Conversões
Conversão de números em uma base b
qualquer para a base 10
N
b= a
n.b
n+ .... + a
2.b
2+ a
1.b
1+ a
0.b
0+ a
-1.b
-1+ a
-2.b
-2Conversões
Conversão de números da base 10 para uma base b
qualquer
Parte Inteira: número decimal será dividido sucessivas vezes
pela base; o resto de cada divisão ocupará sucessivamente as posições de ordem 0, 1, 2 e assim por diante até que o resto da última divisão (que resulta em quociente zero) ocupe a posição de mais alta ordem
Conversões
Conversão de números da base 10 para uma base b
qualquer
Parte Fracionária: se o número for fracionário, a conversão se
fará em duas etapas distintas: primeiro a parte inteira e depois a parte fracionária.
O algoritmo para a parte fracionária consiste de uma série de
multiplicações sucessivas do número fracionário a ser convertido pela base; a parte inteira do resultado da primeira multiplicação será o valor da primeira casa fracionária e a parte fracionária será de novo multiplicada pela base; e assim por diante, até o resultado dar zero ou até encontrarmos o número de casas decimais desejado.
Conversões
Conversão de números da base 10 para uma base b
qualquer
15,6510 = 1111,101002 (com 5 dígitos)
Conversões
Para converter números de uma base b para
uma outra base b' qualquer, o processo
prático utilizado é converter da base b dada
para a base 10 e depois da base 10 para a
base b' pedida
Bits e informação
Informação
é medida em
bits
Como tamanho em metros e tempo em segundos
Atenção
: saber quantidade de informação ≠ saber
a informação (o que significa ou implica)
Outras escalas:
Sistemas físicos: Joules por Kelvin
Quantificando informação
Supor situação com várias saídas possíveis
Ex.: jogar uma moeda
2 saídas possíveis: cara ou coroa
Ex.: selecionar uma carta de um baralho
52 possibilidades
Quão compactamente Alice pode contar a Bob a saída de alguma dessas situações?
Quantificando informação
Jogando uma moeda
Meios para Alice comunicar a Bob o resultado:
Todos devem transmitir a mesma quantidade de
informação, para falar cara ou coroa (ou 0 ou 1)
Quantificando informação
Jogando duas moedas
Para falar uma das quatro possibilidades:
Falar 0 ou 1 duas vezes (2 bits)
Experimento com oito possibilidades
Pode ser transmitido com 3 bits
2
npossibilidades: n bits
Quantidade de informação = log2nTransmitindo informação
• Transmissão de informação requer duas fases:
1. Fase setup:
• Alice e Bob concordam sobre o que vão comunicar
• E o que cada sequência de bits significa
– Código
» Ex.: transmitir naipe de uma carta de um baralho
00 Copas 01 Ouros 10 Espada 11 Paus
Transmitindo informação
2. Fase de comunicação:
• Envio das sequências de 0 e 1
Transmitindo informação
Após Bob saber que uma carta é retirada, ele
se encontra incerto sobre o naipe
Incerteza
(ou falta de informação) também pode
ser expressa em bits
Escutando o resultado, incerteza é reduzida
Pela informação recebida
Incerteza de Bob aumenta na fase de setup e é diminuída durante a fase de comunicação
Resumindo
Informação pode ser apreendida por
observação, experimento ou medida
Informação é subjetiva
Dependente do observador
Resumindo
Informação pode ser perdida
Por perda dos dados
Por perda do código
Forma física de informação está localizada
no tempo e espaço
Informação pode ser enviada de um local para
outro
Informação pode ser armazenada e recuperada
O bit matemático
Informação pode ser comunicada por
sequências de valores 0 e 1
Abstração permite ignorar detalhes de sistemas
de processamento e transmissão específicos
Bits são simples e matemática para
manipulá-los não é difícil
Álgebra Booleana
Benefícios da codificação binária
• Favorece a transmissão e armazenagem da informação
em forma de níveis de tensão.
• Existem códigos corretores de erro que evitam perdas
da informação. Exemplo: código de controle dos cartões
VISA.
• Facilidade de conversão analógico-digital (AD) e
digital-analógica (DA).
• A codificação binária permite implementar facilmente as
operações aritméticas e as operações lógicas
Digitalização de Imagens por mapeamento em bits (bitmap)
PIXEL: um elemento de imagem
Scanners: dpi: dots per inch
(pixels por unidade de comprimento)
Câmeras digitais: Mega pixels
(quantidade total de pixels na imagem)
Impressoras: dpi
Arquivos de imagem tipo .bmp (bitmap): sem compressão - resolução: número de pixels por unidade de espaço ou área
- padrões de telas: 800 x 600; 1280 x 1024
- Primeiro número é a quantidade de colunas (largura) de pixels e o segundo é número de linhas (altura) de pixels
- codificação de cores, para cada pixel: um bit (imagem preto e branco) um byte (256 tons de cinza)
dois bytes (65 mil cores, selecionados de uma paleta de cores) três bytes (um byte para cada cor), 16,7 milhões de cores
Compressão de dados de imagem: padrões JPEG, GIF, TIF, MPEG
O bit físico
Para ser armazenada ou transportada,
informação deve ter forma física
Dispositivo deve ter dois estados distintos
Interpretados como 0 ou 1
Bit é armazenado colocando o dispositivo em um
dos estados
Quando informação do bit é necessária, estado do
dispositivo é medido
O bit clássico
Memória semicondutora
Armazena um bit usando a presença ou ausência
de cargas (elétrons)
Como muitos elétrons estão envolvidos, medidas
neles não são restritas a “sim”/“não”:
Variam de maneira contínua
Tensão em elemento lógico semicondutor pode estar em qualquer valor entre 0V e 5V
Deve ser interpretada para permitir uma margem de erro Entre 0V e 1V: representa 0
Entre 4V e 5V: representa 1 Outras: não interpretadas
Alguns comandos de programação estão estreitamente
relacionados com um sistema de álgebra, chamado
álgebra de Boole, desenvolvido por George Boole
Neste tipo de álgebra podemos operar sobre proposições que
podem ser verdadeiras ou falsas, resultando em um resultado que também é verdadeiro ou falso
Em 1930, Turing mostrou que 3 funções lógicas (AND, OR e NOT)
são suficientes para representar estas proposições lógicas
Uma das principais vantagens deste tipo de álgebra é que ela
pode ser implementada eficientemente através de componentes eletrônicos
Álgebra
Álgebra
é o ramo que estuda as generalizações dos
conceitos e operações de aritmética
Aritmética é o ramo que lida com números e com as
operações possíveis entre eles
Lida com:
Variáveis que possuem certos valores possíveis
Funções que, recebendo uma ou mais variáveis, devolvem
um resultado
Que novamente possui certos valores possíveis
Álgebra Booleana
• Funções de uma variável:
– Identidade (IDENTITY): retorna o argumento
– Negação (NOT): inverso, complemento
– Zero (ZERO): retorna 0, independente do argumento
– Um (ONE): retorna 1, independente do argumento
x f(x)
Argumento IDENTITY NOT ZERO ONE
0 0 1 0 1
1 1 0 0 1
Mais simples que álgebra de inteiros ou reais, que possui muito mais funções de uma variável
Operação NOT
A operação NOT (cujo operador pode ser uma barra horizontal
sobre o símbolo da variável) é aplicável a uma única variável
Ela é expressa por:
NOT A =
A operação NOT inverte o valor da variável
Ela resulta “Verdadeiro” se a variável assume o valor “Falso” e resulta
“Falso” se a variável assume o valor “Verdadeiro”
A
A NOT A
1 0
0 1
Representação de circuito lógico
Álgebra Booleana
• Funções de duas variáveis A e B:
– 4 entradas possíveis
– 16 maneiras de atribuir valores 0 ou 1 para elas
• 2 ignoram as entradas (funções de 0 variável)
• 4 atribuem o resultado a A ou B ou seus complementos
(funções de 1 variável)
• 10 dependem dos dois argumentos (funções de 2 variáveis)
– Principais: » E (AND) » OU (OR) x f(x) Argumento AND OR 00 0 0 01 0 1 10 0 1 11 1 1
Operação AND
Operação AND, cujo operador é representado por “ · ”, pode ser
aplicada a duas ou mais variáveis (que podem assumir apenas os valores “Verdadeiro” ou “Falso”, “1” ou “0” ).
A operação AND aplicada às variáveis A e B é expressa por:
A AND B = A · B
A operação AND resulta “Verdadeiro” se e apenas se os valores
de ambas as variáveis A e B assumirem o valor “Verdadeiro”
A B A AND B
0 0 0
0 1 0
1 0 0
1 1 1
Representação de circuito lógico
Operação OR
Operação OR, cujo operador é “+” (sinal gráfico da adição),
também pode ser aplicada a duas ou mais variáveis (que podem assumir apenas os valores “Verdadeiro” ou “Falso”)
A operação OR aplicada às variáveis A e B é expressa por:
A OR B = A + B
A operação OR resulta “Verdadeiro” se o valor de qualquer uma
das variáveis A ou B assumir o valor “Verdadeiro”
A B A OR B
0 0 0
0 1 1
1 0 1
1 1 1
Representação de circuito lógico
De três operações fundamentais (AND, OR e NOT) podem ser
derivadas mais três operações adicionais, as operações
NAND
,
NOR
e
XOR
(ou OR exclusivo)
A operação NAND é obtida a partir da combinação das operações
NOT e AND, negando resultados do AND
A operação NAND resulta “Falso” se e apenas se os valores de ambas
as variáveis A e B assumirem o valor “Verdadeiro”
A operação NOR é obtida a partir da combinação das operações
NOT e OR, negando resultados do OR
A operação NOR resulta “Verdadeiro” se e apenas se os valores de
ambas as variáveis A e B assumirem o valor “Falso”
A operação, XOR ou "Ou exclusivo" é um caso particular da função
OR. Ela é expressa por:
A XOR B
A operação XOR resulta “Verdadeiro” se e apenas se exclusivamente
uma das variáveis A ou B assumir o valor “Verdadeiro”
Uma outra forma, talvez mais simples, de exprimir a mesma idéia é: a operação XOR resulta “Verdadeiro” quando os valores da variáveis A e B forem diferentes entre si e resulta “Falso” quando forem iguais
Álgebra Booleana
Resumo das tabelas-verdade
A B NOT A A NAND B A NOR B A AND B A OR B A XOR B
0 0 1 1 1 0 0 0
0 1 1 1 0 0 1 1
1 0 0 1 0 0 1 1
1 1 0 0 0 1 1 0
Propriedades de funções:
Reversibilidade: sabendo saída, pode encontrar entrada
NOT, IDENTITY
Nenhuma das duas variáveis
Para duas variáveis:
Idempotência Absorção Complementariedade Associativa Mínimo/Máximo Comutativa De Morgan Distributiva
Álgebra Booleana
Idempotência A
A = A A + A = A Absorção A
(A + B) = A A + (A
B) = A Complementariedad e A
A = 0 A + A = 1 A A = 0 A A = 1 Associativa A
(B
C) = (A
B)
C A + (B + C) = (A + B) + C A(BC) = (AB)C Mínimo A
1 = A A
0 = 0 Máximo A + 0 = A A + 1 = 1 De Morgan A
B = A + B A + B = A
B Comutativa A
B = B
A A + B = B + A A B = B A A
B = B
A A + B = B + A Distributiva A (B + C) = (A B) + (A C) A + (BC) = (A + B) (A + C)PROVANDO AS EQUIVALÊNCIAS LÓGICAS
Lei da Absorção
A + (A
B) = A
A
B A
B
A + (A
B)
0
0
0
0
0
1
0
0
1
0
0
1
1
1
1
1
A expressão
A + (A
B)
é verdadeira
quando A é
verdadeira.
Portanto,
equivale a A
Outras notações:
AND:
A
B
AND(A,B)
A
B
OR:
A + B
OR(A,B)
A
B
Álgebra Booleana
NOT:
A
NOT(A)
~A
A
Operação de Adição
0 + 0 =
0
0 + 1 =
1
1 + 0 =
1
1 + 1 = 1
0
Aritmética Binária
0 com transporte de 1 para a posição imediatamente seguinte (à esquerda)
Operação de Adição
Aritmética Binária - adição
Ex.: soma 1011 + 0011
1 1
1 0 1 1 +
0 0 1 1
1 1 1 0
1 + 1 = 0 e vai 1 1 + 1 + 1 = 1 e vai 1 1 + 0 + 0 = 1 1 + 0 = 1Operação de Subtração
0 – 0 =
0
0 – 1 = 1
1
1 – 0 =
1
1 – 1 =
0
Aritmética Binária
1 com transporte de 1 para a posição imediatamente seguinte (à esquerda)
Operação de Subtração
Aritmética Binária - subtração
Como na subtração decimal, quando o número que está
sendo subtraído for menor do que o que subtrai,
teremos que fazer o empréstimo do dígito seguinte
Ex. subtração decimal:
Como 5 é menor do que 9, ele precisa emprestar 1 do seguinte. Como o seguinte é 0, o processo de emprestar 1 do seguinte
continua até atingir um número diferente de 0
Quando um número diferente de 0 for atingido, este número é diminuído em uma unidade e o número que está recebendo este empréstimo é somado o valor da base (10)
O processo continua até atingir o primeiro número que pediu o empréstimo
Receberam a base (10), mas emprestaram 1, por isso ficou 9
Aritmética Binária - subtração
O caso Booleano é idêntico ao decimal, mas a base é 2
Ex.: subtrair 11102 de 100012Receberam a base (2), mas emprestaram 1, por isso ficou 1
Aritmética Binária - subtração
Outras formas de fazer a subtração:
Usando COMPLEMENTO DE 2 e soma Usando COMPLEMENTO DE 1 e soma
Complemento de 1
: simplesmente inverte os bits
Ex.: complemento de 1 de 11010 é 00101
Complemento de 2
: soma 1 ao complemento de 1
Procedimento da soma de um número A ao
complemento de 2
do outro B
some o primeiro número ao complemento de 2 do segundo Dois casos:
A > B
Se a soma em complemento acarretar "vai-um" ao resultado, ignore o transporte final
A < B
Deve obter o complemento de 2 do resultado da soma em complemento
Aritmética Binária - subtração
Usando o
complemento de 2
na subtração de dois
números A e B:
Caso 1: A > B
Aritmética Binária - subtração
Usando o
complemento de 2
na subtração de dois
números A e B:
Caso 2: A < B
Aritmética Binária - subtração
Resumo de subtração com
complemento de 2
:
Mantém o primeiro número
Calcula o complemento de 2 do segundo número
Soma os dois números
Se houver bit de "overflow": indica que o resultado da
subtração é positivo e o resultado é a própria soma desprezando o bit de overflow
Se não houver o bit de "overflow": indica que o resultado
da subtração é negativo e deve ser realizado o complemento de 2 da soma para obter o resultado final
Procedimento da soma de um número A ao
complemento de 1
do outro B
some o primeiro número ao complemento de 1 do segundo Dois casos:
A > B
"Vai-um" do transporte final (dígito de overflow) indica necessidade de somar 1 ao número restante
A < B
Ausência de dígito de overflow indica necessidade de aplicar complemento de 1 ao resultado da soma
Aritmética Binária - subtração
Usando o
complemento de 1
na subtração de dois
números A e B:
Caso 1: A > B
Aritmética Binária - subtração
Usando o
complemento de 1
na subtração de dois
números A e B:
Caso 2: A < B
Resumo de subtração com
complemento de 1
:
Mantém o primeiro número
Calcula o complemento de 1 do segundo número
Soma os dois números
Se houver bit de "overflow": indica que o resultado da
subtração é positivo e o resultado é a soma desse valor com a unidade
Se não houver o bit de "overflow": indica que o resultado
da subtração é negativo e deve ser realizado o complemento de 1 da soma para obter o resultado final
Operação de Multiplicação
0 · 0 =
0
0 · 1 =
0
1 · 0 =
0
1 · 1 =
1
Aritmética Binária
Pode ser realizada da mesma forma que multiplicação decimal
Operação de Divisão
0
1 =
0
1
1 =
1
0
0 =
x
1
0 =
x
Aritmética Binária
Também pode ser feita de maneira similar a decimal;
se fosse menor do que o divisor colocava um “0” no quociente e baixava o seguinte
Operação de Divisão
Um método parecido ao usado na multiplicação pode ser aplicado
à divisão binária, usando a subtração ao invés da adição
Selecionar o mesmo número de bits do dividendo (bits mais
significativos) que o divisor
Dividir esse número pelo divisor, se for possível
Se o número for maior ou igual ao divisor, o dígito do quociente é 1 e o
divisor é subtraído da parte do dividendo usada
Se o número for menor que o divisor, o dígito do quociente é 0 e é feita
outra tentativa usando outro dígito do dividendo
O processo continua até que não seja mais possível subtrair, nem
deslocar o dividendo
Da mesma forma que na divisão decimal, podem ser acrescentados
0's à direita da vírgula do dividendo no caso de não se obter o resto zero