Aulas 7 e 8 - INF

Propaganda
SERVIÇO PÚBLICO FEDERAL
UNIVERSIDADE FEDERAL DE GOIÁS
INSTITUTO DE INFORMÁTICA
Disciplina: Introdução à Computação
Profa.: Nilzete Olímpio Álvares
Conceitos Básicos
3. Sistemas de Numeração
A idéia de “contar” foi a motivação para o surgimento dos sistemas de numeração.
3.1. Sistema de numeração decimal
-
É o sistema de numeração que usamos em nosso dia a dia.
Seja o número 1984. O primeiro algarismo (1) representa um milhar, o segundo (9) representa
centenas, o terceiro (8) oito dezenas e o quarto (4) quatro unidades:
1967 = 1000 + 900 + 60
+ 7
= 1 x 1000 + 9 x 100 + 6 x 10 + 7 x 1
= 1 x 103 + 9 x 102 + 6 x 101 + 7 x 100
-
Esse sistema de numeração é dito ser um sistema de numeração decimal, ou de base 10.
Os algarismos que compõem o sistema decimal são 0, 1, 2,3,4,5,6,7,8, 9
Notação. Representa-se o número 1967, tomado em base 10, por: ( 1967 )10
Os números podem ser representados de acordo com outros sistemas de numeração?
3.2 - Sistemas de Numeração importante para a computação
Sistema
Decimal
Binário
Octal
Hexadecimal
Base
10
2
8
16
Algarismos
0, 1, 2,3,4,5,6,7,8, 9
0, 1
0,1,2,3,4,5,6,7
0, 1,2,3,4,5,6,7,8, 9, A, B, C, D, E, F
Obs: Não faz parte da emenda da disciplina abordar representação ou conversão de números
decimais, apenas inteiros.
3.2.1 - Sistema de numeração Binário.
-
Base 2
Dígitos 0, 1
Conversão de binário para decimal
-
Multiplique o numero binário vezes a base 2 elevado a unidade por zero, dezena por 1, centena
por 2, milhar por 3, etc.
1
-
Tomemos ( 11011 )2. Esse número pode ser decomposto da seguinte maneira:
43210
= 1 x 20 + 1 x 21 + 0 x 22 + 1 x 23 + 1 x 24
= 1
+ 2
+ 0 + 8
+
16
= 27 = ( 27 )10
Ex1 : ( 11011 )2
210
= 1 x 20 + 1 x 21 + 0 x 22
= 1 + 2
+ 0
= 3 = ( 3 )10
Ex2: ( 011 )2
3210
= 1 x 20 + 0 x 21 + 0 x 22 + 1 x 23
= 1
+ 0
+ 0 + 8
= 9 = (9)10
Ex3 : ( 1001 )2
Conversão de decimal para binário
-
Dividindo o número na base 10 por 2 (pela base 2), tomando os restos da divisão, até não ser
mais possível a divisão por 2.
27
1
7
1
2
3
1
( 7 )10 = ( 0111 )2
2
1
1
2
0
2
13
2
1
6
2
0 3
2
1 1
2
1 0
( 27 )10 = ( 011011 )2
Obs: Em nenhum sistema estudado neste curso zero à esquerda representa informação
relevante, portanto 0111 é igual a 111.
107 2
07 53
1
13
1
2
(107)10 = (01101011)2
26 2
6
0
13 2
1 6 2
0 3 2
1 1 2
1 0
3.2.2 - Sistema de numeração Hexadecimal
2
O sistema de numeração hexadecimal é composto dos dígitos decimais (0,1,2,3,4,5,6,7,8,9)
acrescidos das letras A,B,C, D, E, F. O sistema hexadecimal corresponde a 24= 16, ou seja, quatro
dígitos binários descrevem um dígito decimal.
-
Base 16
Dígito 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
Conversão de hexadecimal para decimal
-
Multiplica-se o unidade hexa pela base hexa(16) elavado a zero + a dezena hexa pela base
hexa(16) elevado a 1 + a centena hexa pela base hexa(16) elevado a 2 e assim por diante.
-
Tomemos ( 10 )16. Esse número pode ser decomposto da seguinte maneira:
10
(10 )16 = 0 x 160 + 1 x 161
= 0
+ 16
= 16 = ( 16 )10
43210
( 10027 )16 = 7 x 160 + 2 x 161 + 0 x 162 + 0 x 163 + 1 x 164
= 7
+ 32 + 0
+ 0
+ 65536
= 65575 = ( 65575)10
Conversão de decimal para hexadecimal
Como é feita a conversão da base 10 para base 16? Faremos a conversão do seguinte modo,
pega-se o número na base 10 e divide base hexadecimal (16), pega-se o resto da divisão da mesma
forma da conversão de decimal para binário. Exemplo :
23
916 16 16
7
1 16
116 157 0 16
4
9
3
3
( 23 )10 = ( 017 )16
16
16 16
0
1
1
( 916 )10 = ( 0394 )16
16
0
( 16 )10 = ( 010 )16
0
3.2.3 - Sistema de numeração Octal
-
Base 8
Dígito 0, 1, 2, 3,4, 5, 6, 7
Para auxiliar a conversão entre as três bases, faremos uma tabela que pegue todos os algarismos
(dígitos) básicos, da maior base, no caso a hexadecimal com 16 dígitos. Explicações detalhadas
de com usar e montar a tabela foram passadas em sala de aula. É muito importante saber
construir esta tabela.
3
Binário
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
Decimal
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
16
Hexadecimal
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
Octal
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
Conversão Binário para octal
-
Dividimos os dígito binário da direita para a esquerda em grupo de três digitos e fazemos a
conversão octal de cada grupo.
Exemplo 01 : (01111)2 = ( )8.
111 corresponde a 7 (unidade octal)
001 corresponde a 1 (dezena octal), assim,
(01111)2 = ( 17)8.
Exemplo 02 : (1010111)2 = ( )8.
111 corresponde a 7 (unidade octal)
010 corresponde a 2 (dezena octal)
001 corresponde a 1 (centena octal)
(1010111)2 = ( 127)8.
Conversão Octal para binário
-
Separamos cada dígito octal da direita (unidade octal) para a esquerda e convertemos
individualmente cada número em octal em três números binário. Exemplo:
Ex. 03:
( 17)8 = ( )2
7 unidades octal correspondem a 111 em binário.
1 dezena octal corresponde a 001 ou 1 em binário, assim,
( 17)8 = (1111)2
Ex. 04:
( 1002)8 = ( )2
2 unidade octal correspondem a 001 em binário.
0 dezena octal corresponde a 000 em binário.
0 centena octal corresponde a 000 em binário.
4
1 unidade de milhar em octal corresponde a 001 em binário, assim,
( 1002)8 = (001000000001)2 = (1000000001)2
3.2.4 – Mais conversões
Conversão binário para hexadecimal
-
Separamos o número binário da direita para a esquerda em grupos de 4 dígitos.
Substituímos cada grupo pelo dígito hexadecimal correspondente.
Exemplo 4:
(
1000
( 8
0111
0100
7
0010
4
)2
2 )16
Exemplo 5 :
( 0101 0111 )2 = ( 5 7 )16
Exemplo 6 : (0110000100011)2 para ( )16
(0000 1100 0010 0011 )2 = (0C23)16 = (C23)16
Não se esqueça que zero à esquerda não conta em nenhum sistema numérico, portanto 0C23
é igual a C23.
Conversão Hexadecimal para Binário
-
Quebramos cada dígito hexadecimal da direita (unidade hexadecimal) para a esquerda e
convertemos individualmente cada número em hexadecimal em quatro números binário.
Exemplos:
( 9 D 8 F )16 = ( 1001 1101 1000 1111 )2
(10AF0)16 = ( 0001 0000 1010 1111 0000 )2 = ( 10000101011110000 )2
- 3.3. -
3.4 – Maneiras de codificar bits, byte e palavras.
As maneiras de implementação de bit, byte e palavra mais relevante para a ciência da
computação são :
 BCD,
 ASCII,
 EBCDIC.
3.5.1 - Codificação EBCDIC ( Extended Binary Coded with Decimal Interchage
Code )
-
1 byte: 8 bits
5
-
1 palavra: 6 bytes
-
Em cada byte, o número de informações que podem ser guardadas:
28 = 256
 Entre essas informações:
-
10 dígitos
26 letras do alfabeto
Outros caracteres, como *, +, -, etc
Exemplo.






G –
O –
L –
A –
3 –
= –
1100 0111
1101 0110
1101 0011
1100 0001
1111 0011
0111 1110
Byte
G
1100 0111
Palavra de Memória
Byte
O
1101 0110
Byte
L
1101 0011
Byte
A
1100 0001
3.5.2 - ASCII
A tabela ASCII (American Standard Coded for Information Interchange). É muito importante
pois virou padrão de fato e é o tipo de codificação usada em Fortran e pelo Sistema
Operacional Windows, Linux, etc.
-
byte: 8 bits
palavra: 6 bytes
3.5.3 - BCD
-
O sistema BCD (Binary Coded Decimal)
byte: 6 bits
palavra: 8 bytes
6
Download