Prof. Leandro Tonietto Introdução a computação e suas aplicações Curso de Segurança da Informação UNISINOS jun-09

Documentos relacionados
Cursos: Análise, Ciência da Computação e Sistemas de Informação Laboratório I - Prof. Aníbal Notas de aula 2 SISTEMAS NUMÉRICOS

Introdução à Programação Aula 06. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

Sistemas de Numeração. Exemplos de Sistemas de Numeração (1) Exemplos de Sistemas de Numeração (2) Sistemas de Numeração

7 Operadores e Expressões

Computação e Programação

Técnicas de Programação em Engenharia Elétrica I - Engenharia de Sistemas Embarcados - Prof. Alessandro Zimmer Introdução à Linguagem C

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas. Aula Tópico 2

Fundamentos de Programação

S is temas numéricos e a Repres entação Interna dos Dados no Computador

Introdução à Computação

Introdução à Computação

Programação de Computadores I Dados, Operadores e Expressões PROFESSORA CINTIA CAETANO

Algoritmos e Estruturas de Dados I (DCC/003) 2013/1. Estruturas Básicas. Aula Tópico 4

Aula 7: Portas Lógicas: AND, OR, NOT, XOR, NAND e NOR

Sistemas de Numeração

Aula de hoje. Expressões. Expressões. Expressões. Exemplos. Programa em Python. SCC Introdução à Programação para Engenharias

Métodos Computacionais. Operadores, Expressões Aritméticas e Entrada/Saída de Dados

Tipos de Dados Simples (Continuação)

PARTE I I: ARITMÉTICA COMPUTACIONAL ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO

Organização e Arquitetura de Computadores I

PROGRAMAS BÁSICOS EM C++ Disciplina: Introdução à Ciência da Computação Prof. Modesto Antonio Chaves Universidade estadual do Sudoeste da Bahia

Disciplina: Introdução à Engenharia da Computação

Introdução à Linguagem C++

Arquitetura de Computadores I

Operadores. Gustavo Queiroz Fernandes

Linguagem C Operadora

3. Linguagem de Programação C

Capítulo 7. Expressões e Sentenças de Atribuição

LÓGICA DIGITAL - CONCEITOS. * Constantes. * Expressões: Aritméticas; Lógicas; Tabela Verdade; Relacionais; Booleanas. * Portas Lógicas.

Algoritmos e Lógica de Programação Introdução e formas de representação

Linguagem C Operadores

Binários: Operações matemáticas

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini /

Sistemas Numéricos, Operações Lógicas e Tipos de Dados Tratados pelo Computador

Eletrônica Digital. Funções lógicas, álgebra de boole e circuitos lógicos combinacionais básicos. Professor: Francisco Ary

Operadores e Expressões: bit-a-bit e especiais

Algoritmos: tipos de dados, variáveis e expressões

Variável. Expressões. Atribuição. Tipos básicos Declaração. Aritméticas Lógicas. Professor Leandro Augusto Frata Fernandes

Sistemas de numeração

Programação de Computadores:

Linguagem Computacional

C Operadores e Expressões

01/08/2011. Tipos de dados Numéricos Alfanuméricos Lógicos. Numéricos. Tipos de dados. Dados Numéricos Inteiros. Dados Numéricos Reais.

Programação de Computadores I. Professor Ilaim Costa Junior

Introdução à Ciência da Computação

Fundamentos de Programação

Programação Orientada a Objetos

1/50. Conceitos Básicos. Programa Básico

Ciência da Computação A&P

Expressões, Atribuições, Entrada e Saída. Givanaldo Rocha

Revisão C++ - Parte 1

TÉCNICO DE INFORMÁTICA - SISTEMAS

Programação de Computadores III

ARQUITETURA DE COMPUTADORES

Universidade Federal de Uberlândia Faculdade de Computação. Expressões aritméticas, relacionais e lógicas Estruturas condicionais

Introdução à Linguagem de Programação C: Variáveis, Constantes, Expressões, Atribuição, Tipos de dados, Entrada e Saída de Dados

Referências. Linguagem C. Tipos de variáveis em XC8. Tipos de variáveis. Tipos de variáveis em XC 8 Exemplo. Radicais numéricos em C

Expressões lógicas, expressões condicionais, prioridades e operadores, base binária, operadores de bits

Algoritmia e Programação APROG. Algoritmia 1. Lógica Proposicional (Noções Básicas) Nelson Freire (ISEP DEI-APROG 2013/14) 1/12

MATA49 Programação de Software Básico

Conceitos Básicos Linguagem C

Estrutura de Dados. Ricardo José Cabeça de Souza Parte 2

Expressões e Instruções de Atribuição. George Darmiton da Cunha Cavalcanti

MAT115 Introdução ao Processamento de Dados Professor: Ibirisol Fontes Ferreira DCC: Departamento de Ciência da Computação

Métodos para a construção de algoritmo

Sistemas numéricos e a Representação Interna dos Dado no Computador

FCA - Editora de Informática xv

Sistemas Numéricos e Representação de Dados. Heitor S. Ramos

Computação Eletrônica. Tipos de dados, constantes, variáveis, operadores e expressões. Prof: Luciano Barbosa

Fluxogramas e variáveis

Arquitetura e Organização de Computadores

Conceitos básicos de programação

Programação em C. Variáveis e Expressões. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação

Prof. Leonardo Augusto Casillo

Organização e Arquitetura de Computadores I

Sistemas de Numeração.

Aula Teórica 8. Preparado por eng.tatiana Kovalenko

Introdução à Computação

Infraestrutura de Hardware

Introdução à Computação MAC0110

PARTE II - CONJUNTO DE INSTRUÇÕES ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR

Introdução à Computação

Arquitetura de Computadores. Professor: Vilson Heck Junior (Material: Douglas Juliani)

Nós estamos acostumados com operações aritméticas: soma, subtração, multiplicação e divisão.

FACULDADE PITÁGORAS PRONATEC

Arquitetura e Organização de Computadores

Eletrônica Digital I (EDL I)

Curso Profissional de Gestão e Programação de Sistemas Informáticos. Programação e Sistemas de Informação. Módulo 1. 3ª Parte Prof. Sandra Pais Soares

Introdução à Programação. Operadores, Expressões Aritméticas e Entrada/Saída de Dados

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

Engenharia Elétrica AAM. Professor: Marco Shawn Meireles Machado

CAPÍTULO 4 - OPERADORES E EXPRESSÕES

Aula 4 - Operadores. Prof. Laura Silva de Assis. Engenharia de Computação 2 o Período

Algoritmos II prof. Daniel Oliveira

5. Expressões aritméticas

Circuitos Digitais. Conteúdo. Soma de Números Binários. Soma de Números Binários. Exemplos. Exemplos. Aritmética Binária

Transcrição:

Lógica Binária Prof. Leandro Tonietto Introdução a computação e suas aplicações Curso de Segurança da Informação UNISINOS jun-9

Introdução Lógica binária é a base do sistema computacional. Qualquer operação pode ser representada pela combinação operações lógicas, num sistema computacional. Operações são realizadas sobre bits, portanto, são binárias: NOT, AND, OR, XOR e SHIFT 4-jun-9 Leandro Tonietto 2

Introdução Tabela verdade: Basicamente, é uma tabela onde são mostradas as possíveis combinações de entrada e as respostas ou saídas. Representa desde a combinação mais simples de valores binários, apenas zero ou um; até a representação de valores combinados em bits. Utilizada para demonstrar a reação da aplicação de operações lógicas sobre números binários. 4-jun-9 Leandro Tonietto 3

NOT Operador unário que representa a negação binária de uma informação. É o complemento de um dado. Bit que vira. Que é vira. Exemplo: NOT = NOT = Em linguagens de programação utiliza-se, normalmente, os símbolos! (operações booleanas) ou ~ (operações binárias) Tabela verdade do operador NOT Op Not Op 4-jun-9 Leandro Tonietto 4

AND Operador binário, chamado de conjunção binária. Faz o chamado E lógico. Retorna verdadeiro se o operador E o operador 2 são verdadeiros. Portanto, resultará o AND entre dois bits se, e somente se, ambos forem ; caso contrário, resulta em zero. Exemplo: AND = AND = Em linguagens de programação utiliza-se, normalmente, os símbolos && (operações booleanas) ou & (operações binárias) Tabela verdade do operador AND Op Op2 Op AND Op2 4-jun-9 Leandro Tonietto 5

OR Operador binário, chamado de disjunção binária. Faz o chamado OU lógico. Retorna verdadeiro se o operador OU o operador 2 são verdadeiros. Portanto, resultará o OR entre dois bits se, e somente se, pelo menos um dos operadores for ; caso contrário, resulta em zero. Exemplo: OR = OR = OR = Em linguagens de programação utiliza-se, normalmente, os símbolos (operações booleanas) ou (operações binárias) Tabela verdade do operador OR Op 4-jun-9 Leandro Tonietto 6 Op2 Op OR Op2

XOR Operador binário, chamado de disjunção binária exclusiva. Retorna verdadeiro se o operador e o operador 2 são diferentes. Portanto, resultará o XOR entre dois bits se, e somente se, um dos operadores for e outro for ; caso contrário, resulta em zero. Exemplo: OR = OR = OR = Em linguagens de programação utiliza-se, normalmente, os símbolos ^ (operações booleanas ou binárias) Tabela verdade do operador XOR Op Op2 Op XOR Op2 4-jun-9 Leandro Tonietto 7

Operações com número binários As operações lógicas com números binários deve ser feita bit-a-bit. Só possível fazer operações lógicas sobre números binários. Portanto, é obrigatória a conversão de um número numa base qualquer para base binária. Exemplo: NOT = AND = OR = XOR = 4-jun-9 Leandro Tonietto 8

Operações com número binários Exercícios: Faça as operações lógicas AND, OR e XOR para a seguinte tabela Op Op2 AND OR XOR 4-jun-9 Leandro Tonietto 9

SHIFT 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. 4-jun-9 Leandro Tonietto

SHIFT SHIFT DIR 2 = SHIFT ESQ 2 = >> 3 = >> 2 = << 2 = 4-jun-9 Leandro Tonietto

SHIFT Nas linguagens de programação, normalmente é representado pelos sinais: >> (deslocamento para a direita, mantendo o bit de sinal) >> 2 = >> 2 = << (deslocamento para a esquerda, mantendo o bit de sinal) << 2 = << 2 = >>> (deslocamento para direita) >>> 2 = Demonstração em linguagem de programação 4-jun-9 Leandro Tonietto 2

Utilização de operações binárias na programação Diversas operações binárias são feitas por questões de desempenho ou otimização de memória. Por exemplo: Operações com máscara de bits. Codificação de bits para representar várias informações em um byte (utiliza-se operadores OR e AND) Empacotamento de bits, por exemplo, armazenar dados tipo byte em dados tipo int (utiliza-se OR, AND e SHIFT) Multiplicação por uma potência de 2 (basta fazer <<) Divisão por uma potência de 2 (basta fazer >>) Verificar se determinado padrão de bits (um número inteiro) está presente num valor. 4-jun-9 Leandro Tonietto 3

Exercícios Faça o deslocamento de bits: >> 4 << 4 >> 3 << 3 56 >> 3 64 >> 2 56 << 3-55 >>> 3-37 << 2-85 >> 2 Não esqueça que o deslocamento de bits é feito na base binária! 4-jun-9 Leandro Tonietto 4

Referências bibliográficas SILVEIRA, Ricardo Azambuja. Sistemas numéricos e a Representação Interna dos Dados no Computador. Disponível em: http://www.inf.ufsc.br/~silveira/ine562/lami nas/ine562aula3.pdf. Acessado em 8//27. Lógica Binária. Disponível em: http://pt.wikipedia.org/wiki/l%c3%b3gica_bin %C3%Aria. Acessado em: 7//27. 4-jun-9 Leandro Tonietto 5