Você está na página 1de 55

Introdução à

Computação: Sistemas
de Numeração

Beatriz F. M. Souza
(bfmartins@inf.ufes.br)
http://inf.ufes.br/~bfmartins/

Computer Science Department


Federal University of Espírito Santo
(Ufes),
Vitória, ES – Brazil

1
História da Computação – Revisão
Aula Passada

• História da Computação;

2
Sistemas de Numeração – Introdução
• Sistemas de Numeração:
– O número é um conceito abstrato que representa a
ideia de quantidade; portanto, é um conceito
fundamental para a área de computação;
– Um sistema de numeração é o conjunto de símbolos
utilizados para representar quantidades e as regras
que definem a forma de representação;

3
Sistemas de Numeração – Introdução
• Sistemas de Numeração:
– Um sistema de numeração é determinado
fundamentalmente pela Base, que indica a
quantidade de símbolos e o valor de cada símbolo;
• Decimal (base 10):
– 0, 1, 2, 3, 4, 5, 6, 7, 8, 9;
• Binário (base 2):
– 0, 1;
• Octal (base 8):
– 0, 1, 2, 3, 4, 5, 6, 7, 8;
• Hexadecimal (base 16):
– 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F;
• Base B genérica:
– 0 a B – 1. 4
Sistemas de Numeração – Introdução
• Sistemas de Numeração:
– Em sistemas digitais, o sistema de numeração binário
é o mais importante;
– Como usa apenas os símbolos 0 e 1, é mais fácil de
ser representado por circuitos eletrônicos (presença
ou não de tensão, chave aberta ou fechada, etc.);
– Os símbolos binários são denominados de Bits
(Binary Digit);
– O conjunto de 8 bits é denominado de Byte;
– Palavras (Words) são grupos de Bytes;

5
Sistemas de Numeração – Introdução
• Sistemas de Numeração:
– Para a representação de números binários grandes
utilizamos os sistemas de numeração octal e
hexadecimal:
• 1100 0000 0000 00002 = 1400008 = A00016
– A base 10 é importante por ser a que manipulamos
– cotidianamente;
– A base 2 é útil por conta dos circuitos lógicos, porém
documentar números grandes apenas com 0 e 1s é
complicado;
– As bases 8 (octal) e 16 (hexadecimal) compactam
siginificativamente a representação em binários.
6
Sistemas de Numeração – Notação
• Sistemas de Numeração (Notação Proposicional):
– Em um sistema numérico posicional de base r, um
número D tem seu valor dado por:

– Onde:
• r : base do sistema;
• p : número de dígitos à esquerda da vírgula;
• n : número de dígitos à direita da vírgula.
– O valor de cada símbolo é determinado de acordo
com a sua posição no número.
7
Sistemas de Numeração – Notação
• Sistemas de Numeração (Notação Proposicional):

2914,193
2 x 10³ + 9 x 10² + 1 x 10¹ + 1 x 10°+ 1 x 10¯¹ + 9 x 10¯² + 3 x 10¯³

8
Sistemas de Numeração – Notação
• Sistemas de Numeração (Notação Proposicional):
– Generalização para qualquer base:
• Seja “b” a base de representação de um número e A, B, C,
D, E, os símbolos dos algarismos deste sistema;
• Então, por exemplo, o número EDCB na base “b”, escrito
convencionalmente como .

EDCBb
Representa a grandeza E x b³ + D x b² + C x b¹ + B x b°

9
Sistemas de Numeração – Outras Bases
• Representação em outras bases:
– Algarismos Indo-arábicos, e se necessário letras ou
outros símbolos, até (base – 1) ;
– Base diferentes símbolos usados repetidamente para
contar;
– Ex. 1: Base 5;

01234

V = ABC = A x b² + B x b¹ + C x b°
231 = 2 x 5² + 3 x 5¹ + 1 x 5°= 6610

10
Sistemas de Numeração – Outras Bases
• Soma, subtração, multiplicação e divisão em outras
bases:
– Segue as mesmas regras:
– Mantém-se o elemento neutro zero;
– Mantém-se a não existência de divisão por zero;
– Estão mantidas as regras de transitividade e as
propriedades intrínsecas dos valores representados
pelos símbolos.

11
Sistemas de Numeração – Sistema Binário
• Sistema de Numeração Binário:
– O sistema binário, como sugere o nome, tem dois
algarismos aos quais damos geralmente os símbolos
0 e 1;
– Eles correspondem a qualquer conjunto dual, como:
não e sim; falso e verdadeiro; desligado e ligado;
negativo e positivo, etc.;
– Nos circuitos lógicos, 0 e 1 representam
respectivamente níveis de tensão baixa e alto ou
estados de saturação e corte de transistores;
– Daí, uma outra designação comum: L e H (“Low and
High levels”), baixo e alto níveis de tensão.
12
Sistemas de Numeração – Sistema Binário
• Sistema de Numeração Binário:
– MSB: “most significant bit” (bit mais significativo);
– LSB: “least significant bit” (bit menos significativo).

13
Sistemas de Numeração – Sistema Binário
• Sistema de Numeração Decimal versus Binário:

14
Sistemas de Numeração – Sistema Octal
• Sistema de Numeração Octal:
– Sistema de base 8;
– Contém 8 algarismos: 0, 1, 2, 3, 4, 5, 6 e 7;
– É utilizado por ser um sistema que tem relação direta
com o sistema binário;
– Veremos esta relação quando tratarmos de
transformação entre bases;
– Os valores posicionais são:

15
Sistemas de Numeração – Sist. Hexadecimal
• Sistema de Numeração Hexadecimal:
– Do hexa (6) e deci (10), sistema numérico de base
16;
– Possui 16 símbolos distintos em sua contagem;
– Além dos 10 dígitos (0 a 9), utiliza as letras A, B, C, D,
E e F que fazem o papel das grandezas 10, 11, 12, 13,
14 e 15 respectivamente;
– Usamos as letras maiúsculas pela necessidade de
termos que representar cada uma destas grandezas
com um único algarismo;
– O sistema Hexadecimal é um sistema muito utilizado
em computadores.
16
Sistemas de Numeração – Comparativo
• Representação comparativa:

17
Sistemas de Numeração – Conversão
• Conversão de Binário para Decimal:
– Devemos considerar os valores posicionais na base 2
e fazer a soma das potências dos bits em “1”;
– Ex. 2: 110112 = 2710

18
Sistemas de Numeração – Conversão
• Conversão de Octal para Decimal:
– Assim como fizemos no sistema binário também
utilizamos os valores posicionais;
– Ex. 2: 3728 = 25010

– Ex. 3: 24,68 = 20,7510

19
Sistemas de Numeração – Conversão
• Conversão de Hexadecimal para Decimal:
– Assim como fizemos no sistema binário também
utilizamos os valores posicionais;
– Ex. 4: 35616 = 85410

– Ex. 5: 2AF16 = 68710

20
Sistemas de Numeração – Conversão
• Conversão de base (r) qualquer para Decimal:
– Para converter de binário, octal ou hexadecimal
para decimal, use o método da soma dos pesos de
cada dígito (valor posicional).

21
Sistemas de Numeração – Conversão
• Conversão de Decimal para Binário:
– Há duas formas de converter o número decimal
inteiro para o equivalente binário:
• A 1ª é fazer a soma das potências de 2, onde os bits “0” e
“1” são colocados nos lugares apropriados;

22
Sistemas de Numeração – Conversão
• Conversão de Decimal para Binário:
– Há duas formas de converter o número decimal
inteiro para o equivalente binário:
• A 2ª forma (mais mecânica) é utilizar as divisões sucessivas
por 2, e a escrita de modo inverso dos restos de cada
divisão até que o quociente 0 seja obtido.

23
Sistemas de Numeração – Conversão
• Conversão de Decimal para Octal:
– Também utiliza-se o método das divisões sucessivas,
só que agora a base é 8.

26610 = 4128

24
Sistemas de Numeração – Conversão
• Conversão de Decimal para Hexadecimal:
– Da mesma forma utiliza-se o processo de divisões
sucessivas;

25
Sistemas de Numeração – Conversão
• Conversão de Decimal para outras bases:
– Tomemos o seguinte exemplo: 91,610 -> x2;
– A parte inteira do número é convertida conforme o
processo já demonstrado e obtemos assim o número
é 1011011;
– A parte fracionária 0,6 é convertida da seguinte
maneira:
• Multiplica-se a parte fracionária pela base “b” (neste caso 2) e
separa-se a parte inteira do produto;
• O resultado obtido da subtração da parte inteira do produto
passa a ser o próximo multiplicando;
• Faz-se sucessivamente esta operação até que consiga uma
precisão satisfatória;
• Lê-se os algarismos separados de cima para baixo. 26
Sistemas de Numeração – Conversão
• Conversão de Decimal para outras bases:
– Ex. 6: 91,610 -> x2;
• Parte inteira:
91 = 1011011;
• Parte fracionária:

27
Sistemas de Numeração – Conversão
• Conversão de Decimal para outras bases:
– Lendo de cima para baixo teremos 10011, então
0,610 = 100112.
– Fazendo uma verificação, podemos ver que 0,100112
é igual a:

– Note que houve uma diferença de precisão na


representação da grandeza nas diferentes bases.

28
Sistemas de Numeração – Conversão
• Conversão de Decimal para outras bases:
– Para a parte inteira:
• Divisões sucessivas por (b);
– Para a parte fracionária:
• Multiplicações sucessivas por (b).

29
Sistemas de Numeração – Conversão
• Conversão de Octal para Binário:
– A principal vantagem do sistema octal é a transcrição
de cada dígito octal para binário, sem a necessidade
de cálculos:

30
Sistemas de Numeração – Conversão
• Conversão de Hexadecimal para Binário:
– Assim como na conversão octal para binário,
utilizamos a substituição de cada dígito hexadecimal
para seu correspondente binário:

31
Sistemas de Numeração – Conversão
• Conversão de Binário para Hexadecimal:
– Análogo à conversão de Binário para Octal, só que
agrupando 4 dígitos ao invés de 3.

32
Sistemas de Numeração – Conversão
• Conversão de Hexadecimal para Octal e Octal para
Hexadecimal :
– Converter para Binário e depois para Octal ou
Hexadecimal.

33
Sistemas de Numeração – Conversão
• Conversão de Binário para Octal:
– A conversão de números binários inteiros para octais
inteiros se dá substituindo o conjunto de cada 3
binários pelo octal equivalente;
– Esta divisão deverá ser feita da direita (LSB) para
esquerda (MSB); se faltar bits à esquerda preencher
com zeros.

34
Sistemas de Numeração – Conversão
• Conversão:
– Por que não convertemos cada dígito diretamente de
Decimal para Binário como no exemplo abaixo?

87410 = [1000][0111][0010]

Porque 10 não é potência de 2

35
Sistemas de Numeração – Conversão
• Resumo das Conversões:
– De binário, octal ou hexadecimal para decimal, use o
método da soma dos pesos de cada dígito (valor
posicional);
– De decimal para binário, octal ou hexadecimal, utilize o
método das divisões/multiplicações sucessivas;
– De binário para octal ou hexadecimal, agrupe os bits da
direita para esquerda e converta cada grupo;
– De octal ou hexadecimal para binário converta cada
dígito em 3 (octal) ou 4 (hexadecimal) bits equivalentes;
– De octal para hexadecimal ou (vice-versa) utilize a
conversão para binário, daí então faça a conversão
desejada.
36
Sistemas de Numeração – Paralelo
Grandeza versus Representação

• “Temos vinte e cinco computadores no laboratório.”


• Existe uma diferença entre a grandeza (a quantidade de
objetos) e uma possível representação da mesma;
• Podemos representar tal grandeza em qualquer um dos
sistemas vistos:
– Decimal: 3510;
– Binário: 100112;
– Octal: 438;
– Hexadecimal: 2316.
37
Sistemas de Numeração – Paralelo
• Formas de Representação:
– Notar que os sistemas Octal e Hexadecimal podem
ser usados como formas compactadas de
representar um número em Binário;
– Octal agrupando 3 dígitos binários em um dígito
Octal;
– Hexadecimal agrupando 4 dígitos binários em um
dígito Hexadecimal.

38
Sistemas de Numeração – Caracteres
• Representação de Caracteres:
– Um CCS (Conjunto de Caracteres Codificados -
“Coded Character Set” ou “Character Encoding”) é
definido para ser um mapeamento de um conjunto
abstrato de caracteres para um conjunto de valores
inteiros não negativos;
– Estes CCS são regulamentados por normas ISO;

39
Sistemas de Numeração – Normas
• Normas para representação e mapeamento de
caracteres codificados:

40
Sistemas de Numeração – Caracteres
• Representação de Caracteres:
– Um CCS (Conjunto de Caracteres Codificados -
“Coded Character Set” ou “Character Encoding”) é
definido para ser um mapeamento de um conjunto
abstrato de caracteres para um conjunto de valores
inteiros não negativos;
– Esta codificação pode mapeada de duas formas
diferentes, usando CEF (Formulário de Codificação
de Caracteres -“Character Encoding Form”):
• Codificação com formulários de tamanho fixo de bits;
• Codificação com formulários de tamanho variável de bits.

41
Sistemas de Numeração – Caracteres
• Exemplos de codificação com tamanho fixo e variável:

42
Sistemas de Numeração – Caracteres
• Representação de Caracteres:
– Os CES (“Character Encoding Scheme” – Esquemas
de Codificação de Caracteres), são transformações
reversíveis de unidades de código para sequencias
de bytes que podem ocorrer de três maneiras
diferentes:
• Simples, mapeia cada unidade de código para uma
sequencia de bytes em ordem;
• Complexas, usa duas ou mais CESs simples e mais um
mecanismo para rolar entre elas;
• Comprimidas, mapeia uma sequência de código para uma
sequência de bytes enquanto ao mesmo tempo minimiza o
tamanho da sequência.
43
Sistemas de Numeração – Caracteres
• Representação pela Tabela ASCII:
– Código ASCII do inglês, “American Standard Code for
Information Interchange” (Código Padrão Americano
para o Intercâmbio de Informação);
– É um código binário composto de bytes (cadeias de 8
bits), sendo um byte para cada símbolo;
– Cada código binário CEF fixo, com 8 bits, sendo:
• 7 bits para o propósito de codificação;
• 1 bit de paridade (detecção de erro).
– Codifica um conjunto de 128 sinais:
• 95 sinais gráficos (letras do alfabeto latino, sinais de
pontuação e sinais matemáticos);
• 33 sinais de controle. 44
Sistemas de Numeração – Caracteres
• Faixa de Representação do Código ASCII:
– O bit mais significativo era usado para paridade;
– Os restante dos 7 bits eram usados como magnitude;

P110 0001
Código ASCII da letra ‘a’

– Com 7 bits de magnitude era possível representar


128 símbolos diferentes:

45
Sistemas de Numeração – Caracteres
• Tabela ASCII de magnitude com 7 bits:

46
Sistemas de Numeração – Caracteres
• Faixa de Representação do Código ASCII:
– Posteriormente o código foi ampliado para permitir
representar um conjunto maior de símbolos, na
medida que outros idiomas além do inglês passaram
a usar esta codificação;
– A magnitude passou a usar 8 bits o que permitiu a
representação de 256 caracteres diferentes:

47
Sistemas de Numeração – Caracteres
• Extensão da tabela ASCII para magnitude com 8 bits:

48
Sistemas de Numeração – Caracteres
• Representação em UNICODE:
– Na prática 256 caracteres diferentes não são
suficientes para todos os idiomas;
– A partir de um consórcio internacional foi definido
um padrão para a codificação que fosse aplicável a
todos os idiomas:
• UNICODE Standard.
– Cada caractere é representado por 8, 16 ou 32 bits:
• Os primeiros 256 caracteres possuem a mesma
representação usada na tabela ASCII;
• Na verdade a representação está baseada em “glyphs”
(glifos), onde diferentes glifos podem representar um
mesmo caractere em idiomas diferentes.
49
Sistemas de Numeração – Caracteres
• Faixa de Representação do UNICODE Standard:
– Primeiramente a magnitude passou a usar 16 bits o
que permitiu a representação de 65536 combinações
diferentes:

– Atualmente magnitude pode usar até 32 bits o que


permite a representação de 4294967296
combinações diferentes:

50
Sistemas de Numeração – Caracteres
• Faixa de Representação do UNICODE Standard:
– Representação da letra “a” com glifos diferentes:

– Os glifos não necessáriamente representam


caracteres individuais, podendo representar um
símbolo mais complexo, um “Ideopraph”.

51
Sistemas de Numeração – Caracteres
• Faixa de Representação do UNICODE Standard:
– Essa distinção entre glifos e caracteres é importante
para idiomas como Árabe, Hebreu, idiomas orientais
e idiomas com acentuação;
– Os glifos estão agrupados segundo subconjuntos
regulamentados pelo conjunto das normas ISO/IEC
10646:2014;

52
Sistemas de Numeração – Caracteres
• Representação em UNICODE:
– O UNICODE pode trabalhar com CEF (formulários de
codificação de caracteres) fixo ou variável;
– E possui 7 CESs (esquemas de codificação de
caracteres):

53
Sistemas de Numeração – Próxima Aula
• Sistemas de Numeração:
– Para a próxima aula:
• Verifique a publicação da lista de exercícios e a data para
entrega.

Continua na próxima aula!

Até breve.

54
http://nemo.inf.ufes.br/

55

Você também pode gostar