CIRCUITOS LÓGICOS UNIDADE 1 SISTEMAS DE NUMERAÇÃO Prof. Antonio Lopes de Lopes de Souza, Ph.D. Classificação Os sistemas de numeração classificam-se em dois grupos básicos que são: Sistemas de numeração posicional, e Sistemas de numeração não posicional Sistemas Posicionais Nos sistemas de numeração posicional, o valor do dígito em um número depende da posição que ele ocupa neste mesmo número. 1989 = 1000+900+80+9 1989 = 1x103 + 9x102 + 8x101 + 9x100 Há um peso para cada posição ocupada pelo dígito. Os pesos crescem para esquerda na parte inteira e decrescem para a direita na parte fracionária 1989,4= 1x103 + 9x102 + 8x101 + 9x100+4x10-1 Sistemas Posicionais A representação posicional fornece uma forma simplificada para a escrita de números e permite a representação de qualquer número com um alfabeto (uma coleção de símbolos) restrito de dígitos. O sistema decimal tem: Base R=10 Um alfabeto ordenado e 10 dígitos, {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, e qualquer número pode ser representado com o uso deles. Sistemas Posicionais Outros Exemplos de Sistemas Posicionais Sistema posicional binário base R = 2 alfabeto {0, 1} Sistema posicional octal base R = 8 alfabeto {0, 1, 2, 3, 4, 5, 6, 7} Sistema posicional hexadecimal base R = 16 alfabeto {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F} Sistemas Não Posicionais Exemplos de Sistemas Não posicionais Sistema de Numeração Romano No número XX, vinte em decimal, o valor do dígito X à esquerda é o mesmo daquele à direita. Neste caso a representação é aditiva, com X representando a quantidade decimal 10, e com a combinação XX associada a 10+10=20. Por outro lado em IX (nove em decimal) a representação é subtrativa. Outro exemplo: Sistema de Medidção de tempo dividido em horas e minutos (uma espécie de base 60) Geração de Inteiros Algorítmo de avanço de dígitos: Avançar um dígito de um alfabeto ordenado consiste em substituí-lo pelo próximo dígito na hierarquia. O dígito de maior valor do conjunto é sempre avançado para o aquele de menor valor na hierarquia. 0123 4567890 Algorítmo de geração de inteiros: a) o primeiro inteiro é o zero b) o próximo inteiro é obtido do precedente na lista avançando-se seu dígito mais à direita. No caso deste dígito avançar para zero, avança-se, então, o dígito adjacente à esquerda. Geração de Inteiros Exemplo: Gerar os 26 primeiros inteiros do sistema decimal. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 Observe que o nove avança para o zero, logo o dígito mais à esquerda (o zero, não mostrado explicitamente no número), é avançado para 1, gerando o próximo número na lista, o 10. Transformações de Base Passagem de uma base R para a base 10 converte-se a base e cada dígito do número para o equivalente decimal. decompõe-se o número de acordo com a estrutura posicional e, usando aritmética decimal, efetuam-se as operações de produtos e somas. Notação: (...)R lê-se como o número do parêntesis expresso na base R. (1101)2=1x23+1x22+0x21+1x20=8+4+0+1=13 (2B0)16=2x162+(11)x161+0x160= 512+176+0=688 Transformações de Base Passagem de uma base 10 para a base R Parte inteira: Algoritmo da divisão repetida Divide-se o inteiro decimal repetidamente pela base R até que se obtenha um quociente inteiro igual a zero. Os restos das divisões sucessivas, lidos do último para o primeiro, constituem o número transformado para a base R. (341) = (2331) 10 5 Transformações de Base Passagem de uma base 10 para a base R Parte fracionária: Algoritmo da multiplicação repetida A parte fracionária é multiplicada por R. A parte inteira desse produto é guardada e a parte fracionária é novamente multiplicada por R. O processo é repetido até que se obtenha um número com parte fracionária nula ou até que se considere a aproximação suficiente. As partes inteiras dos produtos sucessivos, lidas da primeira para a última formam a parte fracionária do número transformado. Transformar (0,4375)10 para a base 2. Transformações de Base Passagem de uma base 10 para a base R Parte fracionária: Algoritmo da multiplicação repetida – Exemplo: Então (0,4375)10 = (0,0111)2 Transformações de Base Mudança de base entre base binária e base de potência de 2 A base para a qual se quer a transformação é expressa no formato 2n . Se essa base for R=8, por exemplo, o valor de “n” é 3 porque 8 = 23. Formam-se grupos, a partir da direita do número binário, contendo uma quantidade de dígitos igual ao número “n”. Esses grupos de “n” dígitos são lidos e representados como os dígitos do sistema para o qual se quer a transformação. Exemplos: (25)10 = (011|001)2 = (31)8, grupos de 3 dígitos (8=23) a partir da direita do número binário para transformação para a base octal. (25)10 = (0001|1001)2 = (19)16, grupos de 4 (16=24) dígitos a partir da direita do número binário para transformação para a base hexadecimal. Operações Aritméticas Soma na base 10, Soma na base 2, Soma na base R (explicar com exemplos no quadro) Complemento de 1: O complemento de 1 de um número binário é obtido trocando-se cada dígito 1 por 0 e vice-versa. A notação C1 (...) é usada para designar o complemento de um do número entre parêntesis. Complemento de 2: O complemento de 2 de um número binário é obtido trocando-se inicialmente todos os 0s por 1s e viceversa. Após isso adiciona-se 1 ao número obtido. Notação C2(...) Operações Aritméticas Subtração por complemento de 1: Subtração por complemento de 2: Soma-se o minuendo ao compemento de 1 do subtraendo. O bit que se propaga após a última coluna da adição é somado de volta ao bit menos significativo do resultado (resolver exemplo no quadro) Soma-se o minuendo ao complemento de 2 do subtraendo. O bit que se propaga após a ultima coluna da adição é desprezado. (resolver exemplo no quadro) Álgebra de Boole George Simon Boole (1815-1864) O criador da álgebra dos circuitos digitais Álgebra de Boole 1- A Álgebra de Boole é aplicável ao projeto dos circuitos lógicos e funciona baseada em princípios da lógica formal, uma área de estudo da filosofia. 2- Um dos pioneiros no estudo da lógica formal foi Aristóteles (384322 AC), que publicou um tratado sobre o tema denominado "De Interpretatione". 3- Boole percebeu que poderia estabelecer um conjunto de símbolos matemáticos para substituir certas afirmativas da lógica formal. Publicou suas conclusões em 1854 no trabalho “Uma Análise Matemática da Lógica” 4- Claude B. Shannon mostrou (em sua tese de mestrado no MIT) que o trabalho de Boole poderia ser utilizado para descrever a operação de sistemas de comutação telefônica. As observações de Shannon foram divulgadas em 1938 no trabalho "Uma Análise Simbólica de Relés e Circuitos de Comutação". Álgebra de Boole Definição da Álgebra de Boole: 1- A álgebra de Boole é um sistema matemático composto por operadores, regras, postulados e teoremas. 2- A álgebra booleana usa funções e variáveis, como na álgebra convencional, que podem assumir apenas um de dois valores, zero (0) ou um (1). 3- A álgebra booleana trabalha com dois operadores, o operador AND, simbolizado por (.) e o operador OR, simbolizado por (+). O operador AND é conhecido como produto lógico e o operador OR é conhecido como soma lógica. Os mesmos correspondem, respectivamente, às operações de interseção e união da teoria dos conjuntos. As variáveis booleanas serão representadas por letras maiúsculas, A, B, C,... e as funções pela notação f(A,B,C,D,...) Álgebra de Boole Operadores da Álgebra Booleana Álgebra de Boole Operadores Boleanos Fundamentais 1- Operador AND (interseção) Definição: A operação lógica AND entre duas ou mais variáveis somente apresenta resultado 1 se todas as variáveis estiverem no estado lógico 1. 2- Símbolo Lógico 3- Tabela Verdade Álgebra de Boole Operadores Boleanos Fundamentais 1- Operador OR (união) Definição: A operação lógica OR entre duas ou mais variáveis apresenta resultado 1 se pelo menos uma das variáveis estiver no estado lógico 1. 2- Símbolo Lógico 3- Tabela Verdade Álgebra de Boole Operadores Boleanos Fundamentais 1- Operador NOT (inversor) Definição: A operação de complementação de uma variável é implementada através da troca do valar lógico da referida variável. 2- Símbolo Lógico 3- Tabela Verdade Álgebra de Boole Operadores Boleanos Secundários 1- Operador NAND Definição: A operação lógica NAND entre duas ou mais variáveis somente apresenta resultado 0 se todas as variáveis estiverem no estado lógico 1. 2- Símbolo Lógico 3- Tabela Verdade Álgebra de Boole Operadores Boleanos Secundários 1- Operador NOR Definição: A operação lógica NOR entre duas ou mais variáveis somente apresenta resultado 1 se todas as variáveis estiverem no estado lógico 0. 2- Símbolo Lógico 3- Tabela Verdade Álgebra de Boole Operadores Boleanos Secundários 1- Operador EXOR (OU exclusivo) Definição: A operação lógica EXOR entre duas variáveis A e B apresenta resultado 1 se uma e somente uma das duas variáveis estiver no estado lógico 1 (ou seja se as duas variáveis estiverem em estados lógicos diferentes). 2- Símbolo Lógico 3- Tabela Verdade Álgebra de Boole Operadores Boleanos Secundários 1- Operador EXNOR (negativo de OU exclusivo) Definição: A operação lógica EXNOR entre duas variáveis A e B apresenta resultado 1 se e somente se as duas variáveis estiverem no mesmo estado lógico. 2- Símbolo Lógico 3- Tabela Verdade Álgebra de Boole Postulados da Álgebra de Boole O significado dos postulados pode ser entendido facilmente se fizermos a associação com a teoria dos conjuntos Álgebra de Boole Teoremas da Álgebra de Boole FIM