Você está na página 1de 108

Câmpus Santa Helena

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Bacharelado em Ciência da Computação

CIRCUITOS DIGITAIS

Profº Dr. Itamar Iliuk

2016
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

AULA 02
Conteúdo Objetivo
• Representações • Conhecer e realizar
Numéricas, Sistemas de exercícios de fixação
Numeração Digital, sobre sistemas de
Quantidades Binárias, numeração.
Circuitos Lógicos/Digitais, • Conhecer os circuitos
Portas Lógicas. lógicos digitais básicos e
Exercícios. suas tabelas verdade.
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Sistemas de Numeração
O sistema de numeração com o qual estamos mais
familiarizados é o decimal, cujo alfabeto (coleção de
símbolos) é formado por 10 dígitos.
Um Computador Decimal: se trabalhasse com o sistema decimal
um computador precisaria codificar 10 níveis de referência para
caracterizar os 10 dígitos do sistema utilizado. Esses níveis de
referência poderiam ser valores de tensão (0V, 1V, 2V, etc.) que
precisariam ser definidos e interpretados de maneira clara e precisa
pela máquina.
 Desvantagem: quanto maior o número de interpretações maior a
probabilidade de erro. Para decidir que está lendo o número 5 a
máquina precisaria ter certeza de que o que leu não é: 0, 1, 2, 3, 4, 6,
7, 8, 9.
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Níveis Lógicos TTL e CMOS


Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Sistemas de Numeração
 Conseqüência: O sistema de numeração mais seguro deveria ser aquele
com o menor número de símbolos (dígitos).

 Conclusão: o melhor sistema de numeração para uma máquina seria o


binário com apenas dois dígitos, o zero (0) e o um (1).

 Obs.: Não há sistema de numeração com alfabeto de um único


dígito. Todo sistema de numeração precisa dos conceitos de
presença (1) e ausência (0).
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Sistemas de Numeração
 Um possível problema no uso de máquinas binárias: o número binário
precisa de mais dígitos para ser escrito do que o decimal.

(2)10 número de animais representado em decimal

(10)2 número de animais representado em binário

Quatro em decimal é representado como 4. Sua representação em


binário é 100.

 Consequência: o computador binário seria mais preciso porém muito


lento porque a leitura da informação iria requerer mais tempo.
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Sistemas de Numeração
 Uma solução: o uso de dispositivos eletrônicos baseados
na tecnologia dos semicondutores, como os transistores.

 O transistor: é um dispositivo usado para controlar o fluxo de


corrente. Ele tem duas características importantes:
1- é capaz de amplificar um sinal elétrico.
2- é capaz de chavear (comutar) entre ligado e desligado (ou fechado
e aberto), deixando corrente passar através dele ou bloqueando-a.
Essas condições são também denominadas “saturação” e “corte”,
respectivamente.

 O transistor pode mudar da condição de saturação para o corte em


velocidades acima de um milionésimo de segundo. Ele pode ser
usado para caracterizar a presença (ou ausência) de um dígito binário
(0 ou 1) e pode tomar decisões desse tipo a uma taxa superior a um
milhão de decisões por segundo.
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Sistemas de Numeração

O primeiro Transistor Um Transistor moderno

Transistor: inventado nos Laboratórios da Bell Telephone em 12/1947 por John


Bardeen, Walter Brattain e William Shockley – Prêmio Nobel de física de 1956. O
transistor é capaz de comutar em um milionésimo de segundo entre o
corte e a saturação. 10^-6 – nanosegundos (n)
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Sistemas de Numeração

O número é um conceito abstrato que representa


a ideia de quantidade.

Sistema de numeração é o conjunto de símbolos


utilizados para a representação de quantidades e
as regras que definem a forma de representação.

Não posicional
Posicional
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

1. Sistemas de Numeração Não Posicional

O valor de cada símbolo é determinado de acordo com a


sua posição no número.
Exemplo: sistema de algarismos romanos.
Símbolos: I, V, X, L, C, D, M.

Regras:
Cada símbolo colocado à direita de um maior é
adicionado a este.
Cada símbolo colocado à esquerda de um maior tem

o seu valor subtraído do maior.


Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

1. Sistemas de Numeração Não Posicional


 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.
M = 1000
Como antes de M não tinha nenhuma letra,
buscavam a segunda letra de maior valor.
D = 500
Depois tiravam de D o valor da letra que vem
antes.
D – C = 500 – 100 = 400
Somavam 400 ao valor de M, porque CD está
depois de M.
M + CD = 1000 + 400 = 1400
Sobrava apenas o V. Então:
MCDV = 1400 + 5= 1405
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

2. Sistemas de Numeração Posicional

O valor de cada símbolo é determinado de acordo com a


sua posição no número.

Um sistema de numeração é determinado


fundamentalmente pela BASE, que indica a quantidade
de símbolos e o valor de cada símbolo.

Do ponto de vista numérico, o homem lida com o


Sistema Decimal.
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

2. Sistemas de Numeração Posicional


 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
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

2. Sistemas de Numeração Posicional


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.
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

2. Sistemas de Numeração Posicional


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}
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

2.1. Sistema Decimal


•Base: 10 (quantidade de símbolos).
•Elementos: 0, 1, 2, 3, 4, 5, 6, 7, 8 e 9.

Embora o Sistema Decimal possua somente dez símbolos, qualquer


número acima disso pode ser expresso usando o sistema de peso
por posicionamento, conforme o exemplo a seguir:

3 x 103 + 5 x 102 + 4 x 101 + 6 x 100


3000 + 500 + 40 + 6 = 3546

Obs.: Dependendo do posicionamento, o digito terá peso. Quanto


mais próximo da extrema esquerda do número estiver o digito, maior
será a potência de dez que estará multiplicando o mesmo, ou seja,
mais significativo será o digito.
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

2.1. Sistema Decimal


 Algoritmo 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.
0123 4567890
 Algoritmo 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.
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

2.1. Sistema Decimal

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.
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

2.2 Sistema Binário


É o sistema de numeração mais utilizado em processamento de dados
digitais, pois utiliza apenas dos algarismos ( 0 e 1 ), sendo portanto
mais fácil de ser representado por circuitos eletrônicos (os dígitos
binários podem ser representados pela presença ou não de tensão).

 Base: 2. (quantidade de símbolos)


 Elementos: 0 e 1.

Os dígitos binários chamam-se BITS (Binary Digit). Assim como no


sistema decimal, dependendo do posicionamento, o algarismo ou bit
terá um peso. O da extrema esquerda será o bit mais significativo
(MSB – Most Significant Bit) e o da extrema direita será o bit menos
significativo (LSB – Least Significant Bit).
O Conjunto de 8 bits é denominado Byte.
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

2.2 Sistema Binário


• Bit Strings - groups of on/off values BIT -
1 bit
• Sistema de Base 2 • BYTE - 8 bit (1 byte)
• WORD - 16 bit (2 byte)
– 0e1 • DWORD - 32 bit (4 byte)
– Sim e Não • LWORD - 64 bit (8 byte)
• INTEGER - whole numbers (Considering
– Ligado e Desligado byte size 8 bits)

– Verdadeiro ou Falso SINT - signed short (1 byte)
• INT - signed integer (2 byte)
• DINT - double integer (4 byte)
• LINT - long integer (8 byte)
• IEC 61131-3 – International
• U - Unsigned - prefix a U to the type to
Electrotechnical Commission make it an unsigned integer.
• REAL - floating point IEC 60559 (same
• IEEE- Institute of Electrical and as IEEE 754-2008)
Electronics Engineers • REAL - (4 byte)
• LREAL - (8 byte)
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

2.3. Sistema Octal


O Sistema Octal foi criado com o propósito de minimizar a
representação de um número binário e facilitar a manipulação humana.

 Base: 8. (quantidade de símbolos)


 Elementos: 0, 1, 2, 3, 4, 5, 6 e 7.

O Sistema Octal (base 8) é formado por oito símbolos ou dígitos, para


representação de qualquer digito em octal, necessitamos de três
dígitos binários.

Os números octais têm, portanto, um terço do comprimento de um


número binário e fornecem a mesma informação.
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

2.4. Sistema Hexadecimal

 Base: 16. (quantidade de símbolos)


 Elementos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E e F.

O Sistema Hexadecimal ( base 16 ) foi criado com o mesmo propósito


do Sistema Octal, o de minimizar a representação de um número
binário.

Se considerarmos quatro dígitos binários, ou seja, quatro bits, o maior


número que se pode expressar com esses quatro bits é 1111, que é,
em decimal 15. Como não existem símbolos dentro do sistema
arábico, que possam representar os números decimais entre 10 e 15,
sem repetir os símbolos anteriores, foram usados símbolos literais: A,
B, C, D, E e F.
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Conversões Entre os Sistemas de


Numeração
Teorema Fundamental da Numeração

Relaciona uma quantidade expressa em um sistema de numeração


qualquer com a mesma quantidade no sistema decimal

N = dn - 1x bn - 1 + ... + d1 x b1 + d0 x b0 + d-1 x b-1 + d-2 x


b-2 + ...

Onde:
d é o dígito,
n é a posição e
b é a base.
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

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 ler 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


Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Exemplos
128(base10) = 1 x 102 + 2 x 101 + 8 x 100

54347(base10) = 5 x 104 + 4 x 103 + 3 x 102 + 4 x 101 + 7 x 100

100(base2) = 1 x 22 + 0 x 21 +0 X 20 = 4

101(base2) = 1 x 22 + 0 x 21 + 1 X 20 = 5

24(base8) = 2 x 81 + 4 x 80 = 16 + 4 = 20

16(base8) = 1 x 81 + 6 x 80 = 8 + 6 = 14
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

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
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

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
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

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.
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Transformações de Base
 Passagem de uma base 10 para a base R
Parte fracionária: Algoritmo da multiplicação repetida.

Então (0,4375)10 = (0,0111)2


Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Transformações de Base
 Passagem de uma base 10 para a base R
Parte fracionária: Algoritmo da multiplicação repetida.

Então (0,4375)10 = (0,0111)2


Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Transformações de Base
 Mudança de base entre a 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
= 2 3.
 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.
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Transformações de Base
Exemplos:
Transformação para a base octal.

(25)10 = (011|001)2 = (31)8, grupos de 3 dígitos (8=2^3) a partir


da direita do número binário para transformação para a base
octal.

Transformação para a base hexadecimal.


(25)10 = (0001|1001)2 = (19)16, grupos de 4 (16=2^4)
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Tabela de conversão de números


Decimal Binário Octal Hexadecimal
0 0 0 0
1 1 1 1
2 10 2 2
3 11 3 3
4 100 4 4
5 101 5 5
6 110 6 6
7 111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Conversão Decimal-Binário
Dividir sucessivamente por 2 o número decimal e os quocientes que vão
sendo obtidos, até que o quociente de uma das divisões seja 0.

O resultado é a sequência de baixo para cima de todos os restos


obtidos.
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Conversão Decimal-Binário
47 (Decimal) para Binário?

4710 = 1011112
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Conversão Decimal-Binário
47 (Decimal) para Binário?

128 64 32 16 8 4 2 1
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Conversão Decimal-Binário
47 (Decimal) para Binário?

128 64 32 16 8 4 2 1

1 0 1 1 1 1

MSB LSB

MSB = Most Significant Bit


LSB = Least Significant Bit
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Conversão Decimal-Binário

Caso exista fração: a parte inteira não muda.


Aplica-se multiplicações sucessivas na parte à direita
da vírgula.
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Conversão Binário-Decimal

– Aplica-se Teorema Fundamental da Numeração


Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Conversão Binário-Decimal
1000 (Binário) para Decimal?

128 64 32 16 8 4 2 1
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Conversão Binário-Decimal
1000 (Binário) para Decimal?

128 64 32 16 8 4 2 1

27 26 25 24 23 22 21 20

1 0 0 0

1 x 23 + 0 x 22 + 0 x 21 + 0 x 20 = 8 (Decimal)
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Conversão Decimal-Octal
 Divisões sucessivas por 8.
 Multiplicações sucessivas por 8 (parte fracionária).

 O resultado é a sequência de baixo para cima de todos os


restos obtidos.
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Conversão Decimal-Octal
92 (Decimal) para Octal?

9210 = 1348
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Conversão Octal-Decimal

• Aplica-se Teorema Fundamental da Numeração


Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Conversão Octal-Decimal
144 (Octal) para Decimal?
87 86 85 84 83 82 81 80
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Conversão Octal-Decimal
144 (Octal) para Decimal?
87 86 85 84 83 82 81 80

1 4 4

1 x 82 + 4 x 81 + 4 x 80 = 100 (Decimal)
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Conversão Decimal-Hexa
• Divisões sucessivas por 16.

• Multiplicações sucessivas por 16 (parte fracionária).


Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Conversão Decimal-Hexa
1000 (Decimal) para Hexadecimal?

100010 = 3E816
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Conversão Hexa-Decimal

• Aplica-se Teorema Fundamental da Numeração


Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Conversão Hexa-Decimal
1C3 (Hexadecimal) para Decimal?
167 166 165 164 163 162 161 160
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Conversão Hexa-Decimal
1C3 (Hexadecimal) para Decimal?
167 166 165 164 163 162 161 160

1 C 3

1 x 162 + C x 161 + 3 x 160


1 x 162 + 12 x 161 + 3 x 160 = 451 (Decimal)
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Conversão Hexa-Binário

• Agrupamento de 4 bits.
• Usar a tabela.
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Conversão Binário-Hexa

 Usar a tabela.
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Conversão Octal-Binário

 Agrupamento de 3 bits.
 Usar a tabela.
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Conversão Binário-Octal

 Usar a tabela (Tabela)


Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Conversão Octal-Hexa

 Dois passos:

Converter octal para binário.


Converter binário para hexa.
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Conversão Hexa-Octal

 Dois passos:

Converter hexa para binário.


Converter binário para octal.
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

• Tipos de dados e declaração de atributos


• Todo programa de computador deve ser capaz de lidar com
dados para conseguir fazer seus processos como, por
exemplo, somar, multiplicar, dividir, etc... Usar atributos é a
melhor forma de manipular os dados.
• Os tipos de dados são o que definem a quantidade de
memória do computador que será utilizado para guardar tal
dado. Cada tipo de dado tem um tamanho diferente e por
consequência seu alcance também. O que queremos dizer é
que se declararmos um atributo para guardar um número
inteiro, jamais poderemos guardar um número decimal,
porque um número decimal ocupa mais espaço de memória
que um inteiro.
• Para declararmos qualquer tipo de atributo, usamos a
seguinte ordem: primeiro o tipo de dado e depois o nome do
atributo. Se não souber como nomear um atributo, veja as
regras e convenções de nomenclatura.
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

• Vamos iniciar com os tipos de dados inteiros que são os mais simples. Em Java, os
números inteiros são divididos em quatro tipos: byte, short, int e long.
• Esses quatro guardam o mesmo tipo de dado, mas ocupam espaços de memória
diferente, o que afeta em seu alcance.
• O tipo byte é o de menor alcance entre os inteiros. Como o próprio nome sugere, ele
consome apenas um byte (8 bits) e pode guardar valores entre -128 e 127.
• O tipo short guarda inteiros de 2 bytes (16 bits) e pode guardar números entre -32.768
a 32.767.
• O tipo int é o tipo de dado mais comum. Ele consome 4 bytes (32 bits) e guarda
valores entre -2.147.483.648 e 2.147.483.647.
• Long é o tipo de dado com maior alcance entre os inteiros. Consequentemente,
também é o que ocupa mais espaço (8 bytes ou 64 bits). Tem um grande alcance que
fica entre -9,22E+18 (exatos -9.223.372.036.854.775.808) e 9,22E+18 (exatos
9.223.372.036.854.775.807).
• Existe os tipos de dados próprios para caracteres que é o char.
• O tipo char ocupa 2 bytes, o que torna Java ideal para programar em línguas latinas,
asiáticas ou qualquer outra que utilize caracteres diferentes do padrão ASCII.
• O padrão ASCII utiliza apenas um byte que fornece 256 letras diferentes, mas o
padrão utilizado em Java (ISO) – (UNICODE) nos dá a possibilidade de até 65.536
caracteres diferentes.
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

• ASCII - American Standard Code for Information Interchange


Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

• Para números decimais utilizamos dois tipos de dados,


dependendo da necessidade de seu alcance e precisão
(números após a vírgula).
• O tipo de dado mais comum para número decimal é o float.
Em um tipo de dado float, podemos guardar números
grandes que vão desde 1,4E-45 até 3,4028235E+38
• Para número decimais com grande precisão ou valores
extraordinários (geralmente utilizados em matemática
aplicada e complexa como cálculos físicos, químicos,
astrológicos, meteorológicos, etc) utilizamos o tipo de dado
double.
• Double é o tipo de dado mais complexo que há em Java e o
maior valor possível de se armazenar é
1,797.693.134.862.315.7E+308.
• Muito mais do que qualquer programador precisa.
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

• Para ilustrar melhor essa explicação, abaixo está um pequeno


algoritmo com alguns atributos e seus valores mínimos e máximos.
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Controle de motor por Lógica binária

t1 t2 t3 t4

tempo b1 b2 b3 b4 Decimal?
t1 1 0 0 0
t2 0 1 0 0
t3 0 0 1 0
t4 0 0 0 1
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Controle de motor por Lógica binária

t1 t2 t3 t4

tempo b1 b2 b3 b4 Decimal?
t1 1 0 0 0 8
t2 0 1 0 0 4
t3 0 0 1 0 2
t4 0 0 0 1 1
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Pergunta e conclusão - Binários

• Qual o maior valor que um byte pode


armazenar?
• A porta paralela tem 8 pinos de saída
quais valores devem ser enviados para o
controle de 2 motores simultaneamente?
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Pergunta e conclusão - Binários

• 1 Byte = 8 Bits = 111111112 = 25510

tempo M1B1 M1B2 M1B3 M1B4 M2B1 M2B2 M2B3 M2B4 Decimal?
t1 1 0 0 0 1 0 0 0 136
t2 0 1 0 0 0 1 0 0 68
t3 0 0 1 0 0 0 1 0 34
t4 0 0 0 1 0 0 0 1 17
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Pergunta e conclusão - Hexadecimal

• Qual o maior valor que um byte pode


armazenar?
• A porta paralela tem 8 pinos de saída
quais valores devem ser enviados para o
controle de 2 motores simultaneamente?
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Pergunta e conclusão - Hexadecimal

• 1 Byte = 8 Bits = 111111112 = 25510 = FF16

tempo M1B1 M1B2 M1B3 M1B4 M2B1 M2B2 M2B3 M2B4 Decimal? Hexa?
t1 1 0 0 0 1 0 0 0 136 88
t2 0 1 0 0 0 1 0 0 68 44
t3 0 0 1 0 0 0 1 0 34 22
t4 0 0 0 1 0 0 0 1 17 11
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Exercícios Propostos

• Efetue as conversões indicadas:

– Converta para o sistema decimal


a) 11000102 b) 01111002 c) 100001001102
d) 1010110001102 e) 4318 f) 7528 g) 1778
e) 5368 f) 20F16 g) 4BE16 h) 100A16 i) 9F016

– Converta para o sistema binário


a) 14410 b) 30110 c) 7210 d) 23110 e) 1678
f) 4448 g) 70118 h) 10108 i) 20216 j) F1616
k) AA0B16 l) D99F16 m) C7916 n) 200B16
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Exercícios Propostos

• Converta para o sistema Octal


a) 33110 b) 100010 c) 12810 d) 25510
e) 11002 f) 10011102 g) 100011101112
h) 1110111002 i) 76516 j) CBD16 k) FADA16

• Converta para o sistema Hexadecimal


a) 125310 b) 81910 c) 301410 d) 160010
e) 7508 f) 3478 g) 1178 h) 5128
i) 0111001000110112 j) 100011101100012
k) 1101110002 l) 11111101111102
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Exercícios Propostos

• Realize as conversões

– 1022011023
a) em decimal b) em binário c) em sistema base 9

– 16710
a) em sistema ternário b) em sistema base 9 c) em binário
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Operações Aritméticas

Sistema Binário Sistema Binário

 Adição:  Subtração:

0+0=0 0-0=0
0+1=1 0 - 1 = 0 e empresta 1
1+0=1 1-0=1
1 + 1 = 0 e vai 1 1-1=0
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Operações Aritméticas

Multiplicação: Divisão: Pode ser feita por


subtrações sucessivas até
obtermos uma diferença menor
0x0=0 que o divisor (resto).
0x1=0
1x0=0
1x1=1
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

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 vice-
versa. Após isso adiciona-se 1 ao número obtido. Notação C2(...)
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Operações Aritméticas
 Subtração por complemento de 1: Soma-se o minuendo
ao complemento 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)

 Subtração por complemento de 2: 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)
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Operações aritméticas
• Sistema Binário
– Adição
– Subtração
– Multiplicação
– Notação de números positivos e negativos
– Complemento de 2
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Operações aritméticas
Adição
0 0 1 1
+0 +1 +0 +1
0 1 1 10
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Operações aritméticas
Subtração
0 0 1 1
1
-0 -1 -0 -1
0 1 1 0
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Operações aritméticas
Subtração
1000
-0111
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Operações aritméticas
Subtração
1000 1000 1000
1
-0111 -0111 -0111
01 0001

1000 1000
1 1
0111 0111
1 001
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Operações aritméticas
Multiplicação
0 0 1 1
x0 x1 x0 x1
0 0 0 1
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Operações aritméticas
Multiplicação
11010
x 101
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Operações aritméticas
Multiplicação
11010
x 101
11010
00000+
11010+
10000010
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Operações aritméticas Nº positivos e


negativos
• Como representar números negativos se
na prática os processadores só trabalham
com zeros e uns?

• Bit de sinal
– +1000112 = 001000112
– -1000112 = 101000112
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Operações aritméticas - Complemento de 2

• Forma bastante utilizada de


representação de números negativos
• Para obter o complemento de 2 primeiro
devemos obter o complemento de 1

– Exemplo: representar o número -110011012


na notação complemento de 2
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Operações aritméticas - Complemento de 2

• Complemento de 1 é obtido através da


troca de cada bit pelo inverso ou
complemento

Número binário: 11001101


Complemento de 1: 00110010
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Operações aritméticas - Complemento de 2

• Complemento de 2 é obtido somando-se 1


ao complemento de 1 do número inicial

Complemento de 1: 00110010
+ 1
Complemento de 2: 00110011
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Tabela geral
Decimal -9 -8 -7 -6 -5 -4 -3 -2 -1
Binário -1001 -1000 -0111 -0110 -0101 -0100 -0011 -0010 -0001
Complemento 2 0111 1000 1001 1010 1011 1100 1101 1110 1111

Decimal 0 1 2 3 4 5 6 7 8 9
Binário 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001
Complemento 2 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001

Tabela dos números -9 a +9 na base 10, no sistema binário


em 4 bits utilizando a notação de complemento de 2.
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Operações aritméticas - Complemento de 2

• 110101112 - 1001012
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Operações aritméticas - Complemento de 2


• 110101112 - 1001012
– Ajustar valores para mesmo número de bits nos dois
termos
– Encontrar complemento de 1 do segundo valor
• Para obter o complemento de 1 inverte-se todos
os bits do byte
• 00100101=11011010
– Encontrar complemento de 2 do segundo valor
• Complemento de 2 = Complemento de 1 + 1
• 11011010 + 1 = 11011011
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Operações aritméticas - Complemento de 2

• 110101112 – 1001012
• 110101112 – 01001012

• Complemento de 1 de 00100101 é igual a


11011010

• Complemento de 2 de 11011010 é igual a


11011010 + 1 = 11011011
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Operações aritméticas - Complemento de 2

11010111
+11011011
110110010
Estouro do número de bits deve ser desconsiderado
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Operações aritméticas - Complemento de 2

• Conclusão
– A vantagem do uso do complemento de 2 é
que pode-se utilizar o mesmo circuito
somador para efetuar-se operações com
número negativos e subtrações!
– Simplificação da complexidade e número de
componentes no sistema!
– Exemplo de aplicação na ULA – Unidade
Lógica Aritmética dos microprocessadores e
microcontroladores
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Álgebra de Boole

George Simon Boole


(1815-1864)
O criador da álgebra dos
circuitos digitais
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Á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 (384-
322 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".
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Á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
dentre 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.
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Álgebra de Boole
 Operadores da Álgebra Booleana
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,...)
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Álgebra de Boole
 Operadores Booleanos Fundamentais
Operador AND (interseção)
1- 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
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Álgebra de Boole
 Operadores Booleanos Fundamentais
Operador OR (união)
1- 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
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Álgebra de Boole
 Operadores Booleanos Fundamentais
Operador NOT (inversor)
1- 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
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Álgebra de Boole
 Operadores Booleanos Secundários
Operador NAND
1- Definição: A operação lógica NAND entre duas ou
mais

2- Símbolo Lógico

3- Tabela Verdade
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Álgebra de Boole
 Operadores Booleanos Secundários
Operador NOR
1- 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
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Álgebra de Boole
 Operadores Booleanos Secundários
Operador EXOR (OU exclusivo)
1- 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
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Álgebra de Boole
 Operadores Booleanos Secundários
Operador EXNOR (negativo de OU exclusivo)
1- 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
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Á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
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Álgebra de Boole
Teoremas da Álgebra de Boole
Câmpus Santa Helena
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

Referências Bibliográficas
• TOCCI, Ronald J.; WIDMER, Neal S.; MOSS, Gregory L. Sistemas digitais: princípios
e aplicações. 11. ed. São Paulo: Pearson Prentice Hall, c2011. xxii, 817 p. ISBN
9788576050957.
• BIGNELL, James; DONOVAN, Robert. Eletrônica digital. São Paulo, SP: Cengage
Learning, c2010. xviii, 648 p. ISBN 9788522107452.
• IDOETA, Ivan V.; CAPUANO, Francisco G.(Francisco Gabriel). Elementos de
eletrônica digital. 41. ed. rev. e atual. São Paulo, SP: Érica, 2012. 544 p. ISBN
9788571940192.
• LATHI, B. P. Sinais e sistemas lineares. 2. ed. Porto Alegre: Bookman, 2007. 856 p.
ISBN 9788560031139.
• GARCIA, Paulo Alves; MARTINI, José Sidnei Colombo. Eletrônica digital: teoria e
laboratório. 2. ed. São Paulo, SP: Érica, c2006. 182 p. ISBN 9788536501093.
• COSTA, César da. Projetos de circuitos digitais com FPGA. 3. ed. São Paulo, SP:
Érica, 2014. 224 p. ISBN 9788536505855.
• PEDRONI, Volnei A. Eletrônica digital moderna e VHDL. Rio de Janeiro, RJ:
Elsevier, 2010. 619 p. ISBN 9788535234657.
• SEDRA, Adel S.; SMITH, Kenneth Carless. Microeletrônica. 5.ed. São Paulo, SP:
Pearson Prentice Hall, 2007. 848 p.

Você também pode gostar