Programação Lógica
Objetivo: Conhecer os sistemas de numeração e realizar
as quatro operações na base binária.
•
•
•
•
Introdução
Bases Numéricas
Conversão entre bases
Operações Aritméticas na base
binária
• Notação de números Binários
Programação Lógica
A.L.Lapolli – www.lapolli.pro.br
Programação Lógica
• Introdução
Nos primórdios da humanidade, os seres
humanos iniciaram a quantificação utilizando
o dia e a noite, e, posteriormente o dedos
das mãos.
Desta maneira iniciou-se o sistema decimal
(utilizando-se 10) para realização de
contagem e operações aritméticas.
Os
primeiros
computadores
(ainda
mecânicos ) trabalhavam nesta base.
Programação Lógica
A.L.Lapolli – www.lapolli.pro.br
Programação Lógica
• Introdução
Como a base decimal é extremamente
complexa para representar um fenômeno
físico como ligado ou desligado, aceso ou
apagado, magnetizado ou não magnetizado,
com o advento do computador eletrônico
(meados do século XX) optou-se por utilizar
o sistema binário.
Apesar de simples para os sistemas
computacionais, para as pessoas, a leitura de
dados binários é difícil.
Programação Lógica
A.L.Lapolli – www.lapolli.pro.br
Programação Lógica
• Introdução
Neste sentido, visando facilitar a leitura dos
dados, a apresentação dos dados básicos
computacionais
utilizam
o
sistema
hexadecimal, facilitando a leitura e
memorização.
Atualmente, a caracterização de um
computador como clock, tamanho de
memória, taxa de transferência de dados,
etc. baseia-se na utilização do sistema
binário a saber:
Programação Lógica
A.L.Lapolli – www.lapolli.pro.br
Programação Lógica
• Introdução
Bit: Binary Digit
•Menor unidade
computadores
de
informação
dos
•Assume dois valores para dois estados
diferentes: 1 = Ligado; 0 = Desligado
• O bit é a menor unidade física da memória
•De acordo com a tecnologia os bits são
armazenados
e
movimentados
no
computador e grupos de 8, 16, 32, 64
•Cada grupo recebe o nome de palavra
Programação Lógica
A.L.Lapolli – www.lapolli.pro.br
Programação Lógica
• Introdução
Palavra e Byte
•Um byte corresponde a um conjunto de
oito bits
•Um byte é um espaço de memória
necessário para armazenar um caracter
(letra, algarismo ou símbolo)
• Cada palavra é formada por um grupo de 2,
4, 6 ou até 8 bytes.
Programação Lógica
A.L.Lapolli – www.lapolli.pro.br
Programação Lógica
• Introdução
Utilidade do Byte
•Representa, na memória do comtutador, os
símbolos da nossa linguagem
•Com 1 byte é possível representar 256=28
símbolos diferentes
• Exemplo: 010000012=4116=A
011000012=6116=a
Os subscritos representam respectivamente
as bases binária (2) e hexadecimal (16).
Programação Lógica
A.L.Lapolli – www.lapolli.pro.br
Programação Lógica
• Introdução
O tamanho da memória de um computador
também é medido em byte, assim como o seu
endereço.
Quando se declara uma variável ou uma
constante em linguagem de alto nível, o
compilador reserva a posição inicial e as
sucessivas, conforme o tamanho da variável
ou constante.
Portanto, a variável ou constante declarada
aponta para uma posição (endereço) de
memória no computador.
Programação Lógica
A.L.Lapolli – www.lapolli.pro.br
Programação Lógica
• Introdução
Múltiplo do Byte
Unidade
quilobyte
megabyte
gigabyte
terabyte
pentabyte
Programação Lógica
Múltiplo
byte
kb
Mb
Gb
Tb
Pb
Representação
bytes
1024=210
1048576=220
1073741824=230
240
250
A.L.Lapolli – www.lapolli.pro.br
• Bases Numéricas
Programação Lógica
A base numérica é o representante simbólico
de quantidade. As bases que iremos estudar
são: Decimal, Binária, Octal e Hexadecimal
Decimal: É a mais conhecida, constituída de 10
símbolos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
Os números com mais de um algarismos são
quantificados pela posição:
3 5 410
Unidade => 100 => 4 . 100 = 4
Dezena => 101 => 5 . 101 = 50
Centena => 102 => 3 . 102 = 300
354
Programação Lógica
A.L.Lapolli – www.lapolli.pro.br
Programação Lógica
• Bases Numéricas
Binária: Constituída de apenas 2 símbolos: 0, 1
1 0 1 12
20
21
22
23
Octal:
Constituída de 8 símbolos: 0, 1, 2, 3, 4, 5, 6, 7
2 5 18
80
81
82
Programação Lógica
A.L.Lapolli – www.lapolli.pro.br
Programação Lógica
• Bases Numéricas
Hexadecimal:
Constituída de 16 símbolos: 0, 1, 2, 3, 4, 5, 6, 7,
8, 9, A, B, C, D, E, F
2 A 116
160
161
162
Exercícios:
Exibir quantidade nas bases diferentes
Programação Lógica
A.L.Lapolli – www.lapolli.pro.br
Programação Lógica
• Conversão entre bases
Bases Binária, Octal e Hexadecimal para
Decimal:
O processo consiste em multiplicar os
algarismos à base elevada ao expoente
correspondente à posição relativas do
algarismo. O resutaldo de cada posição devem
ser somados.
Exemplo:
Programação Lógica
A.L.Lapolli – www.lapolli.pro.br
Programação Lógica
• Conversão entre bases
Binária  Decimal
1 0 1 12
1 x 20= 1
1 x 21= 2
0 x 22= 0
1 x 23= 8
Octal  Decimal
2 5 18
= 1110
1 x 80= 1
5 x 81= 40
2 x 82= 128
= 16910
Hexadecimal  Decimal
2 A 116
1 x 160
= 1
A x 161= 10 x 161=160
2 x 162=
=512
= 67310
A16=1010
Programação Lógica
A.L.Lapolli – www.lapolli.pro.br
Programação Lógica
• Conversão entre bases
Da base Decimal para as bases Binária, Octal e
Hexadecimal:
Consiste na operação inversa da conversão de
qualquer base para decimal.
Divide-se sucessivamente o número em decimal
pelo valor da base que se deseja converter até que
o quociente seja menor do que o valor da base.
O resultado é constituído dos algarismos contidos
no último quociente e dos restos das primeiras
divisão sendo que, este último é o algarismo mais
significativo e o primeiro resto o menos
significativo.
Programação Lógica
A.L.Lapolli – www.lapolli.pro.br
Programação Lógica
• Conversão entre bases
Decimal  Binária
11 2
1 5
1
Last
Significant
Bit
2
2
0
2
1
MSB
Most
Significant Bit
1110=10112
Programação Lógica
A.L.Lapolli – www.lapolli.pro.br
Programação Lógica
• Conversão entre bases
Decimal  Octal
169 8
1 21
5
8
2
Decimal  Hexadecimal
673 16
1 42
10
16
2
A
16910=2518
Programação Lógica
67310=2A116
A.L.Lapolli – www.lapolli.pro.br
Programação Lógica
• Conversão entre bases
As conversões entre Binário, Octal e Hexadecimal
utiliza a seguinte tabela.
Binário e Octal.
Binário
Octal
000
0
001
1
010
2
011
3
100
4
101
5
110
6
111
7
Programação Lógica
Um número na base octal é
composto em sequência de 3 dígitos
binários (de três em três bits)
258=0101012
2
010
5
|
101
Observe a correspondência na tabela. A conversão
é direta nas duas mãos!!
A.L.Lapolli – www.lapolli.pro.br
• Conversão entre bases
Binário
Hexadecimal
0000
0
0001
1
0010
2
0011
3
0100
4
0101
5
0110
6
0111
7
1000
8
1001
9
1010
A
1011
B
1100
C
1101
D
1110
E
1111
F
Programação Lógica
Programação Lógica
Binário e Hexadecimal
Um número na base Hexa é
composto em sequência de 4 dígitos
binários (de quatro em quatro bits)
67316=011001110011
6
7
3
Para escrever este número em octal
011 001 110 011
3
1
6
3
67316=31638
Desnecessário fazer conta!!
A.L.Lapolli – www.lapolli.pro.br
Programação Lógica
• Conversão entre bases
Nestas condições, a realização das operações de
conversão binária, octal e hexadecimal são
relativamente simples.
Para passagem de qualquer base para a decimal
e vice versa, basta que se obtenha o número na
base binária e desta se passe para a decimal e
vice versa, evitando-se operações mais
complexas.
Programação Lógica
A.L.Lapolli – www.lapolli.pro.br
• Operações Aritméticas na base binária
Programação Lógica
São relativamente simples. Basta respeitar-se as
condições operacionais.
Soma:
0+
0
0
0+
1
0
1+
0
1
1+
1
10
10
1
11
0
Carry  Transporte: Vai 1
Subtração:
00
0
01
1
Minuendo
Subtraendo
Vai 1 no subtraendo para o algarismo mais significativo.
Alternativamente, empresta-se 1 do algarismo mais significativo do minuendo para o
menos significativo e assim sucessivamente conforma a necessidade.
Programação Lógica
A.L.Lapolli – www.lapolli.pro.br
• Operações Aritméticas na base binária
Exemplo de soma:
Programação Lógica
1
11+
1 10
100
110+
111
1101
1
Alternativamente:
Subtração:
111100
011
1000+
1
111
0001
10001
+
101
01
1000+
1 001
001
1000+
1 001
0001
Programação Lógica
A.L.Lapolli – www.lapolli.pro.br
• Operações Aritméticas na base binária
Programação Lógica
Outra forma de se subtrair: Basta emprestar 1
do algarismo mais significativo do minuendo.
1000111
Programação Lógica
010 00111
0 1 10 0111
0
111
0001
1 1 10
A.L.Lapolli – www.lapolli.pro.br
• Operações Aritméticas na base binária
Programação Lógica
Multiplicação:
0x
0
0
Exemplo:
Programação Lógica
0x
1
0
1x
0
0
1x
1
1
11010 x
101
11010
110100
10000010
A.L.Lapolli – www.lapolli.pro.br
• Notação de números Binários
Programação Lógica
Não há símbolos em sistemas eletrônicos,
apenas tabelas de códigos que representam
os símbolos. Os números binários necessitam
do bit de representação de sinal.
Convencionalmente, dependendo do sistema
0 positivo (+)
1negativo (-)
3510=+100011=0100011
-7310=-10010012=11001001
Programação Lógica
A.L.Lapolli – www.lapolli.pro.br
• Notação de números Binários
Programação Lógica
Outra forma é o complementos de 2.
Representação em 4 bits:
110=0001
-110=1111
710=0111
-710=1001
Se fosse um sistema de representação não
sinalizada: 11112=1510 e 10012=910
Portanto, para se trabalhar em complemento de
2 deve-se manter o número de dígitos binário do
sistema de numeração, desprezando-se os
excessos mais significativos.
Programação Lógica
A.L.Lapolli – www.lapolli.pro.br
• Notação de números Binários
Programação Lógica
Determinação do complemento de 2 de
determinado número:
100110011
Complemento de 1:
100110011
Faz-se a inversão do bits: 011001100
Complemento de 2:
1+
Soma-se 1 ao resultado 011001101
do complemento de 1.
-20510
20510
Considerando-se a convenção de
complemento de dois :
Programação Lógica
A.L.Lapolli – www.lapolli.pro.br
• Notação de números Binários
Programação Lógica
Nestas condições, pode-se subtrair dois
números em complemento de 2:
1000111
Complementando 2
111=0111=1000+1=1001
1000+
1001
x
10001
Desprezado
Programação Lógica
A.L.Lapolli – www.lapolli.pro.br
Programação Lógica
Programação Lógica
A.L.Lapolli – www.lapolli.pro.br
Download

2.SistNum