Introdução à programação/Lógica

Origem: Wikilivros, livros abertos por um mundo aberto.

Lógica binária[editar | editar código-fonte]

A lógica binária, ou bitwise operation é a base de todo o cálculo computacional. Na verdade, são estas operações mais básicas que constituem todo o poderio dos computadores. Qualquer operação, por mais complexa que pareça, é traduzida internamente pelo processador para estas operações.

Operações[editar | editar código-fonte]

NOT[editar | editar código-fonte]

O operador unário NOT, ou negação binária resulta no complemento do operando, i.e., será um bit '1' se o operando for '0', e será '0' caso contrário, conforme podemos confirmar pela tabela verdade:

A ¬A
1 0
0 1

Implementação:

Se isto NOT aquilo

AND[editar | editar código-fonte]

O operador binário AND, ou conjunção binária devolve um bit 1 sempre que ambos operandos sejam '1', conforme podemos confirmar pela tabela verdade:

A B A ∧ B
1 1 1
1 0 0
0 1 0
0 0 0

Implementação:

Se isto AND aquilo, Fazer assim

OR[editar | editar código-fonte]

O operador binário OR, ou disjunção binária devolve um bit 1 sempre que pelo menos um dos operandos seja '1', conforme podemos confirmar pela tabela verdade:

A B A ∨ B
1 1 1
1 0 1
0 1 1
0 0 0

Implementação:

Se isto OR aquilo, Fazer assim

XOR[editar | editar código-fonte]

O operador binário XOR, ou disjunção binária exclusiva devolve um bit 1 sempre que apenas um dos operandos seja '1', conforme podemos confirmar pela tabela verdade:

A B AB
1 1 0
1 0 1
0 1 1
0 0 0

Implementação:

isto XOR aquilo, Fazer assim

Shift[editar | editar código-fonte]

O operador unário de bit shifting, ou deslocamento bit-a-bit, equivale à multiplicação ou divisão por 2 do operando que, ao contrário dos casos anteriores, é um grupo de bits, e consiste no deslocamento para a esquerda ou para a direita do grupo de bits. O bit inserido é sempre 0, e o bit eliminado pode ser opcionalmente utilizado (flag CF dos registradores do processador).

 ( 101011(43) >> 1 ) =    010101[1]  
 ( 101011(43) << 1 ) = [1]010110     

Ver também[editar | editar código-fonte]

Lógica