Àlgebra de Boole e Conceitos de Eletrônica Digital
Hoje inicio de modo eficaz a categoria programação. Minha idéia é compartilhar com uma linguagem simples e acessível dicas e tutoriais para quem pretende iniciar no mundo da programação.
Para iniciar vamos falar sobre “Àlgebra de boole e Conceitos de Eletrônica Digital”.
A lógica começou a desenvolver-se com Aristóteles (384-322 A.C) e os antigos filósofos gregos passaram a usar em suas discussões sentenças enunciadas nas formas afirmativa e negativa, resultando assim grande simplificação e clareza, com efeito de grande valia em toda a matemática. Por volta de 1666, Gottfried Wilhelm Leibniz (1646-1716) usou em vários trabalhos o que chamou de “calculus rotiotinator”, ou lógica mathematica ou logística.
Mais tarde George Boole (1814-1864) criou o que até hoje chamamos de Álgebra de Boole. A Álgebra de Boole, embora existindo há mais de cem anos, não teve qualquer utilização até 1937, quando foi feita sua aplicação à análise de circuitos de relés por A. Nakashima, que não foi bem sucedido, pois, ao invés de desenvolver teoria já existente, tentou desenvolver Álgebra Booleana por conceitos próprios.
Em 1938 Claude E. Shannon mostrou, em sua tese de mestrado no departamento de Engenharia Elétrica do MIT (Massachusetts Institute of Technology), a aplciação da álgebra de boole na análise de circuitos de relés, usando-a com rara elegância, o que serviu de base para o desenvolvimento da teoria dos interruptores.
O assunto deste módulo ainda que elementar, visa mostrar as aplicações da álgebra de boole ou álgebra lógica no processamento automático de dados (computação).
Sistemas Dicotômicos
Existem situações que podemos definir com apenas dois estados, exemplo:
1 |
0 |
Sim |
Não |
Dia |
Noite |
Preto |
Branco |
Ligado |
Desligado |
Existem situações que não se apresentam como estritamente dicotômicas, por exemplo: Morno, tarde e etc.Ou seja, com dois estados excludentes bem definidos.
Vamos pausar um pouco este estudo de lógica para conhecer um pouco do conceito da eletrônica digital que por sinal usa o sistema dicotômico na construção dos seus processadores digitais (base binária).
Conceitos de Eletrônica Digital
Normalmente estes conceitos são relegados a um segundo plano, no entanto, eles são importantíssimos para um bom desenvolvimento técnico. Vamos começar com uma breve descrição de bases numéricas e unidades de medida.
Sistema Decimal ( Base 10)
É o sistema numérico usado universalmente, formado por dez algarismos, ou seja, dez símbolos que são eles:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Sendo que o número 10 (dez) é apenas a combinação do símbolo 1 e 0.
Notação Posicional
Sistema Decimal (Base 10)
O sistema numérico decimal é posicional ou ponderado. Isto significa que cada posição dos dígitos num número possui um peso particular o qual determina a magnitude daquele número.
Cada posição tem um peso característico determinado pela potenciação da base do sistema numérico, neste caso o número dez. Os pesos posicionais são:
10º (unidades), 10¹ (dezenas), 10² (centenas), 10³ (milhar); etc..
Potências de 10
10º = 1
10¹ = 10
10² = 100
10³ = 1.000
104 = 10.000
Para representar o número 5412 na base 10, fazemos:
(5×10³) + (4×10²) + (1×10¹) + (2 x10º)
(5×1000) + (4×100) + (1×10) + (2×1)
5.000 + 400 + 10 + 2 = 5412 base 10
|
Sistema Binário (Base 2)
Este sistema numérico é muito importante, porque é utilizado para expressar todas as operações realizadas em um sistema digital. A arquitetura de um PC está baseada no sistema digital, já que ela é constituída por processador(es) memórias de semicondutores, circuitos de I/O, etc…
Para se ter uma idéia os processadores são implementados basicamente por portas lógicas. O funcionamento de uma porta lógica está apoiado nos postulados da eletrônica digital.
Assim como o sistema decimal, qualquer número pode ser representado no sistema binário, e a diferença entre eles é que, em vez de utilizar dez algarismos distintos, utilizam-se apenas 2 (0 e 1).
Por exemplo, o número 1011 na base 2 pode ser convertido para a base 10 (decimal) da seguinte maneira:
1×2³ + 0×2² + 1×2¹ + 1×1º
8 + 0 + 2 + 1 = 11
Lê-se 1011 na base 2 que é igual a 11 na base 10 também pode ser escrito assim:
10112 ou 1110
BIT È a menor unidade lógica do sistema computadorizado, responsável pela formação das palavras (instruções e/ou dados). Assume dois níveis lógicos possíveis: “0” ou “1” que também são conhecidos como estados lógicos. Por exemplo: O número 1100112 é composto por 6 bits. 1 Kilobit é igual a 1.024 bits.
Byte Um byte é formado por um conjunto de oito bits, exemplo: 101010102 1 kilobyte é igual a 1.024 bytes Sistema Hexadecimal (Base 16) Este sistema é muito utilizado por programadores de software de baixo nível, em vez de utilizar o sistema binário, nativo dos sistemas digitais, que é eficiente, mas possui o inconveniente de utilizar uma grande quantidade de 0s e 1s para representar um número. Os códigos ASCII (American Standard For Coded Information Interchange) também conhecidos como Tabela ASCII, normalmente estão representados em Hexadecimal, a fim de facilitar a vida de programadores e desenvolvedores de software. Como o nome indica o sistema hexadecimal é formado por 16 símbolos diferentes: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F As letras “A, B, C, D, E , F” correspondem aos valores “10,11,12,13,14,15” respectivamente. Vamos converter o número 3E816 Para a Base Decimal: 3E8 3 x 16² + 14 x 16¹ + 8 x 16º = 768 + 224 + 8 = 1000, logo: (3E8)16 é igual a 100010 Vamos visualizar uma pequena tabela de equivalência entre os sistemas de numeração decimal, binário e hexadecimal
Conversão de sistemas numéricos Binário para Decimal 10011012 1×26 + 0×25 + 0×24 + 1×2³ + 1×2² + 0×2¹ + 1×2º = 64 + 0 + 0 + 8 + 1 = 7710 Hexadecimal em Decimal 3f4h 3 x 16² + 15 x 16¹ + 4 x 16º = 768 + 240 + 4 = 101210 Para facilitar a compreensão vamos dissecar ainda mais este exercício: Note que 3 x 16 = 48¹ como está na base 2 fazemos 48 x 16 = 768 15×16 = 240 e 4×16º é 0 logo: 768+240+4 = 1012 na base 10 Decimal em binário Para converter um número da base 10 na base 2, utiliza-se o método da divisão sucessiva. Esse método pode ser também utilizado para a conversão da base 10 em qualquer outra base. O método consiste na divisão do número da base 10 pelo número que representa a base a ser convertida, até que o quociente seja igual a zero. Então tornam-se os restos de cada divisão, obtendo assim o número correspondente na base desejada. ( Do final para o começo), exemplo:
Decimal em Hexadecimal A conversão de um número decimal em hexadecimal, diretamente, não é muito prática, portanto primeiro se converte o número decimal na base 2 e em seguida na base 16. 19610
1º) Converta 19610 Para a base binária conforme explicado acima (faça como exercício e verifique se o resultado é o mesmo) Logo, temos: 19610 = 110001002 2º) Converta 110001002 na base 16 Para isto você deve dividir o número binário em quatro bits (4 digitos): 1100 = C 0100 = 4 Portanto 19610 è igual a = C4H Por este motivo os programadores de baixo nível preferem usar o Hexadecimal ao invés do binário, pois é mais fácil representar C4h do que 110001002
Como podem perceber acabei me afastando da álgebra de boole, mas não se preocupem, na próxima aula ou melhor postagem:-) vamos tratar inteiramente dos conceitos de boole. |
0sem comentários ainda