By detection assay bation period of WORDS: Suberites domuncula
Introdução à Computação: Sistemas de...
Transcript of Introdução à Computação: Sistemas de...
Introdução à
Computação: Sistemas
de Numeração
Beatriz F. M. Souza
http://inf.ufes.br/~bfmartins/
Computer Science Department
Federal University of Espírito Santo
(Ufes),
Vitória, ES – Brazil
1
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;
0 1 2 3 4
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 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 – 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
20
• 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
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
• 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
• 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
• 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