Lógica e Aritmética Binária
Operações lógicas binárias:
‒ Not / Não
‒ And / E
‒ Or / Ou
‒ Xor / Ou Exclusivo
‒ Shift
Operações aritméticas binárias:
‒ Soma / Adição
‒ Multiplicação
‒ Subtração
‒ Divisão
Lógica Binária
NOT (~)
Tabela verdade
OP1 ~ OP1
0 1
1 0
AND (&)
Tabela verdade
OP1 OP2 OP1 & OP2
0 0 0
0 1 0
1 0 0
1 1 1
OR (+)
Tabela verdade
OP1 OP2 OP1 | OP2
0 0 0
0 1 1
1 0 1
1 1 1
XOR ( )
Tabela verdade
OP1 OP2 OP1 ^ OP2
0 0 0
0 1 1
1 0 1
1 1 0
SHIFT (>> ou <<)
Operação binária de deslocamento de BITs
Deslocamento de bits é feito um-a-um, no sentido e na quantidade
informados.
Equivale a multiplicação ou divisão do operando por 2.
Com o deslocamento informações são perdidas e informações devem ser
inseridas. O que fazer?
- Depende. Em geral é inserido zero aonde não há
informações a serem deslocadas.
- E os bits “perdidos” podem ou não serem aproveitados
pelo compilador.
00011100 SHIFT DIR 2 = 00000111
00011100 SHIFT ESQ 2 = 01110000
1000 >> 3 = 1
1000 >> 2 = 10
1000 << 2 = 100000
Nas linguagens de programação, normalmente é
representado pelos sinais: >> <<
- >> (deslocamento para a direita, mantendo o bit de sinal)
• 00011110 >> 2 = 00000111
• 11001110 >> 2 = 10010011
- << (deslocamento para a esquerda, mantendo o bit de sinal)
• 00011110 << 2 = 01111000
• 11001110 << 2 = 10111000
_->>> (deslocamento para direita)
• 00011110 >>> 2 = 00000111
Demonstração em linguagem de
programação
Exercícios
OP1 OP2 AND OR XOR
00011100 11110000 00010000 11111100 11101100
11100011 10101010 10100010 11101011 01001001
10101010 00110111 00100010 10111111 10011101
11110000 10001000 10000000 11111000 01111000
00001111 01010101 00000101 01011111 01011010
11001100 11111111 11001100 11111111 00110011
11101110 00100100 00100100 11101110 11001010
10001000 00010001 00000000 10011001 10011001
Aritmética Binária
ADIÇÃO (+)
Tabela verdade
OP1 OP2 OP1 + OP2
0 0 0
0 1 1
1 0 1
1 1 0^1*
1 1 (+1) 1^1*
* (e “vai 1” para o dígito de ordem superior)
SUBTRAÇÃO(-)
Tabela verdade
OP1 OP2 OP1 - OP2
0 0 0
0 1 1v**
1 0 1
1 1 0
** (e “pede 1 emprestado” para o dígito de ordem superior)
MULTIPLICAÇÃO (X)
Tabela verdade
OP1 OP2 OP1 - OP2
0 0 0
0 1 0
1 0 0
1 1 1
DIVISÃO (÷)
√ Mesmo método que o decimal: deslocamentos e subtrações.