Execução de Algoritmos – Sistema Binário e - Facom

Propaganda
GBC015:
INTRODUÇÃO À CIÊNCIA DA
COMPUTAÇÃO
Execução de Algoritmos:
Sistema Binário e Hexadecimal
Ilmério Reis da Silva
[email protected]
www.facom.ufu.br/~ilmerio/icc
UFU/FACOM/BCC
Sistemas de Numeração
Sistema Decimal

Alfabeto com 10 símbolos
Base 10. Alfabeto = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
Um número é uma cadeia de símbolos

O que representa o número 201 na base 10 (20110)?
– Ordem dos símbolos 2, 0 e 1 é importante
20110 = 2 * 102 + 0*101 + 1 * 100
= 200 +
0+
1
O valor representado por cada símbolo depende da
posição do símbolo
Sistema Binário
Proposto por Leibniz (sec. XVII)

Alfabeto com dois símbolos {0, 1}

Números são cadeias de zeros e uns
Exemplos: 102, 11012, 12, 02

Significado depende do contexto

Entender o sistema binário é importante para
programar corretamente
Conversão Binário/Decimal
O que representa o número 101 na base 2
(1012)

Ordem dos símbolos 1, 0 e 1 é importante

Vamos convertê-lo para a base 10
1012 = 1 * 22 + 0*21 + 1 * 20 = 610
Outro Exemplo 11012
11012 = 1*23 + 1*22 + 0*21+ 1*20 = 1310
Algoritmo Conversão Decimal/Binário
Algoritmo:
LEIA n // um número inteiro no Sistema Decimal
FAÇA {
resto = n % 2 // resto da divisão de n por 2: é 0 ou 1
imprima resto
n=n/2
// considere divisão inteira
} ENQUANTO n > 0
IMPRIMA ”Leia os bits da direita para a esquerda”
Exemplo:
(1310 ): 13/2 = 6 (resto 1); 6/2 = 3 (resto 0); 3/2 = 1 (resto
1); 1/2 = 0 (resto 1) ==> (11012)
Exemplo de Conversão Decimal/Binário
Representando números inteiros usando
Sinal-Magnitude
Reserva-se o bit + significativo para
representar o sinal:
0 – positivo; 1- negativo
os demais bits representam o número
Binário
Dec
Exemplos:

0102 = 210 ; 1102 = -210
1
0
1
-1
OBS: - quantidade de bits deve
ser fixa
- o zero tem duas representações,
a sabe: 0002 e 1002
0
0
1
1
1
1
1
-3
Representando números inteiros usando
Complemento Dois
O bit + significativo representa o sinal
0 – positivo; 1 – negativo;
mas todos os bits compõem o nro, que
usa um nro fixo de bits.
- números positivos idênticos ao Sistema Binário
- números negativos:
* Inicia com uma cadeia de 1s. Ex: 1111C2=-110
* Decrementa-se em binário. Ex: 1110C2=-210, 1101C2=-310
- conversão para decimal conforme figura a seguir, obtida de
[1]:
Interpretando o números negativo 1010 em
Complemento Dois
Tabela números inteiros de 3 e 4 bits em
Complemento Dois
Comparação Sinal-Magnitude C2




C2 é mais usado atualmente
Representa um nro a mais por nro de bits
Possui apenas uma representação para o zero
Os circuitos lógicos são mais simples
Limites C2
Bits
Menor
Maior
8
-128
127
16
-32768
32767
32
-2147483648
2147483647
64
-9223372036854775808
9223372036854775
807
Sistema
Hexadecimal
Alfabeto com 16
caracteres (tabela)

Facilita expressão de
números binários

Cada símbolo
corresponde a
4 bits

Surgiu na IBM

HEXADECIMAL
BINARIO
DECIMAL
0
0000
0
1
0001
1
2
0010
2
3
0011
3
4
0100
4
5
0101
5
6
0110
6
7
0111
7
8
1000
8
9
1001
9
A
1010
10
B
1011
11
C
1100
12
D
1101
13
Conversão de base


HEXADECIMAL/DECIMAL/HEXADECIMAL
– Análogo a BIN/DEC/BIN substituindo 2 por 16
HEX/DEC:
A2B16 = 10 * 162 + 2 * 161 +11 * 160 = 269310
DEC/HEX: ALGORITMO (pg 4) com 16 em subst 2
HEXADECIMAL/BINÁRIO/HEXADECIMAL
HEX/BIN
•
•
cada algarismo = 4 bits
A2B16 = 1010 0010 1011 = 1010001010112
BIN/HEX
•
•
Cada 4 bits um símbolo (da direita para esquerda)
1010112 : 10 1011 : 2 B = 2B16
Operações Lógicas
SOMA
OUTRAS OPERAÇÕES

SUBTRAÇÃO
Basta fazer a soma com o respectivo número negativo
Exemplos (em complemento 2):
0111C2 – 0011C2 = 0111C2 + 1101C2 = 0100C2
0011C2 – 0100C2 = 0011C2 + 1100C2 = 1111C2
OBS:
- outras operações são definidas a partir da soma e
subtração
- números Hexadecimal negativo também usa o último bit
para representar o sinal (não vamos abordar aqui).
TÓPICOS ADICIONAIS



Sistema qualquer:
onde b é a base an são coeficientes de 0 a b-1. Se b=8 temos o
Sistema Octal (Operações análogas às outras bases.
Exemplo: Octal/Bin use 3 bits por dígito).
Números após a vírgula são interpretados de forma análoga ao
Sistema Decimal, com potências negativas
Códigos baseados em padrões de cadeias de bits são usados
para representar informações, por exemplo:
– ASCII: 7 bits para representar alfabeto inglês, incluindo
letras maiúsculas, minúsculas, dígitos, pontuação e
informações de controle.
– UNICODE: padrões de 16 bits para linguagens como
chinês, hebraico, japonês,
– MAPA DE BITS para representação de imagens, etc....
Bibliografia
[1] BROOKSHEAR, J. Glenn. Ciência da computação: uma
visão abrangente, ,tradução da 11a ed [por] Eduardo K
Pivete, Porto Alegre, Bookman, 2013.
[2] FEDELI, Ricardo Daniel; POLLONI, Enrico Giulio
Franco; PERES, Fernando Eduardo. Introdução à ciência da
computação. 2. ed. São Paulo: Cengage Learning, 2010.
[3] Autran Macedo, Maria Adriana, Renato Pimentel e Ilmério
Silva, http://www.facom.ufu.br
Material de Apoio


Capítulo 1, 2 de [1], incluindo material na Web
Capítulo 3 de [2], incluindo exercícios
FIM
Execução de Algoritmos:
Sistema Binário e Hexadecimal
Download