A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Professora: Tatiana Renata Garcia com adaptações do professor Benjamin Grando Moreira Introdução à Programação de Computadores Sistemas de Numeração.

Apresentações semelhantes


Apresentação em tema: "Professora: Tatiana Renata Garcia com adaptações do professor Benjamin Grando Moreira Introdução à Programação de Computadores Sistemas de Numeração."— Transcrição da apresentação:

1 Professora: Tatiana Renata Garcia com adaptações do professor Benjamin Grando Moreira Introdução à Programação de Computadores Sistemas de Numeração

2 Professora: Tatiana Renata Garcia com adaptações do professor Benjamin Grando Moreira Introdução à Programação de Computadores Objetivos da aula: - Motivação - Apresentar os sistemas de numeração - Conversão de base - Representação dos números utilizados pelos computadores - Aritmética binária

3 Professora: Tatiana Renata Garcia com adaptações do professor Benjamin Grando Moreira Introdução à Programação de Computadores Armazenamento de dados na memória: - A memória é a parte do computador onde programas e dados são armazenados - A unidade básica de memória é o dígito binário => BIT - Um bit pode conter um 0 ou um 1 - A informação digital pode ser armazenada através da distinção entre valores diferentes de alguma grandeza física contínua, tal como corrente ou tensão - Quanto mais valores devem ser distinguidos, menor é a separação entre valores adjacentes e menor é a confiabilidade da memória => melhor opção é o sistema binário

4 Professora: Tatiana Renata Garcia com adaptações do professor Benjamin Grando Moreira Introdução à Programação de Computadores Números de precisão finita: - Quando realizamos operações aritméticas no papel não precisamos nos preocupar com a quantidade de dígitos ou casas decimais que vamos utilizar para representar os dados => nunca acontece do papel não ser suficientemente grande para armazenar o número - Com computadores a situação é diferente - A natureza finita do computador nos força a lidar apenas com números que podem ser representados com um número fixo de dígitos => números de precisão finita

5 Professora: Tatiana Renata Garcia com adaptações do professor Benjamin Grando Moreira Introdução à Programação de Computadores Números de precisão finita: - O conjunto dos inteiros positivos representáveis por 3 dígitos decimais, sem ponto decimal e sem sinal tem 1000 elementos: 000, 001, 002,...., 999 - Com esta restrição é impossível expressar vários conjuntos importantes de números: números negativos, frações, números complexos, números maiores que 999 - Números de precisão finita não são fechados em relação à nenhuma das quatro operações aritméticas básicas -Mesmo que i e j sejam números do conjunto entre 000 e 999 não é possível garantir que i+j, i-j, i*j e i/j serão números do conjunto entre 000 e 999

6 Professora: Tatiana Renata Garcia com adaptações do professor Benjamin Grando Moreira Introdução à Programação de Computadores Números de precisão finita: - Exemplo: -600 + 600 = 1200 (maior que 999) -003 – 005 = -002 (menor que 000) -050 * 050 = 2500 (maior que 999) -007 / 002 = 3.5 (não é inteiro) - Erros onde os números são maiores que o maior número do conjunto => erro de overflow - Erros onde os números são menores que o menor número do conjunto => erro de underflow - Estes erros também acontecem nas operações realizadas pelo computador que utiliza o sistema binário

7 Professora: Tatiana Renata Garcia com adaptações do professor Benjamin Grando Moreira Introdução à Programação de Computadores Objetivos da aula: - Motivação - Apresentar os sistemas de numeração - Conversão de base - Representação dos números utilizados pelos computadores

8 Professora: Tatiana Renata Garcia com adaptações do professor Benjamin Grando Moreira Introdução à Programação de Computadores Sistemas de numeração: - Um sistema de numeração na base k requer k símbolos diferentes para representar os dígitos de 0 até k-1 - Sistema decimal => 10 dígitos diferentes => base 10 -0, 1, 2, 3, 4, 5, 6, 7, 8, 9 - Sistema octal => 8 dígitos diferentes => base 8 -0, 1, 2, 3, 4, 5, 6, 7 - Sistema binário => 2 dígitos diferentes => base 2 -0, 1 -Sistema hexadecimal => 16 dígitos diferentes => base 16 -0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F -A = 10, B = 11, C = 12, D = 13, E = 14, F = 15

9 Professora: Tatiana Renata Garcia com adaptações do professor Benjamin Grando Moreira Introdução à Programação de Computadores Sistemas de numeração: - É possível afirmar que número 7B9 está na base hexadecimal pois aparece o dígito B que não é possível nas outras bases apresentadas - Mas e o número 111? - O número pode estar em qualquer base, e para evitar ambigüidades utiliza-se um subscrito indicando a base -111 2, 111 8, 111 16, 111 10

10 Professora: Tatiana Renata Garcia com adaptações do professor Benjamin Grando Moreira Introdução à Programação de Computadores Objetivos da aula: - Motivação - Apresentar os sistemas de numeração - Conversão de base - Representação dos números utilizados pelos computadores

11 Professora: Tatiana Renata Garcia com adaptações do professor Benjamin Grando Moreira Introdução à Programação de Computadores Conversão de base: Decimal para binário - A conversão do sistema Decimal para o binário é realizada por sucessivas divisões por 2, ou seja, o número em decimal é dividido sucessivamente por 2 até que o quociente seja igual a 0 - O resto da última divisão representa o dígito mais à esquerda do número binário, o resto da próxima divisão o próximo dígito, e assim por diante

12 Professora: Tatiana Renata Garcia com adaptações do professor Benjamin Grando Moreira Introdução à Programação de Computadores Conversão de base: Decimal para binário 13 2 1 6 2 0 3 2 1 1 2 1 0 => 13 10 = 1101 2

13 Professora: Tatiana Renata Garcia com adaptações do professor Benjamin Grando Moreira Introdução à Programação de Computadores Conversão de base: Decimal para binário 1492 2 0 746 2 0 373 2 1 186 2 0 93 2 1 46 2 0 23 2 1 11 2 1 5 2 1 2 2 0 1 2 1492 10 = 10111010100 2 1 0

14 Professora: Tatiana Renata Garcia com adaptações do professor Benjamin Grando Moreira Introdução à Programação de Computadores Conversão de base: Binário para decimal - A conversão do sistema binário para o decimal é realizado através da forma polinomial: A j-1 * 2 j-1 + A j-2 * 2 j-2 +... + A 2 * 2 2 + A 1 * 2 1 + A 0 * 2 0 Onde A = 0 ou 1 e j é o número de dígitos do número - Exemplo: 10110 2 = 1*2 4 + 0*2 3 + 1*2 2 + 1*2 1 + 0*2 0 = 16+4+2 = 22 10

15 Professora: Tatiana Renata Garcia com adaptações do professor Benjamin Grando Moreira Introdução à Programação de Computadores Conversão de base: Número em Decimal: 2001 2x10 3 + 0x10 2 + 0x10 1 + 1x10 0 Octal: 3721 3x8 3 + 7x8 2 + 2x8 1 + 1x8 0 = 2001 10 Binário: 11111010001 1x2 10 + 1x2 9 + 1x2 8 + 1x2 7 + 1x2 6 + 0x2 5 + 1x2 4 + 0x2 3 + 0x2 2 + 0x2 1 + 1x2 0 = 2001 10 Hexadecimal: 7D1 7x16 2 + 13x16 1 + 1x16 0 = 2001 10

16 Professora: Tatiana Renata Garcia com adaptações do professor Benjamin Grando Moreira Introdução à Programação de Computadores Conversão de base: Binário – Octal – Hexadecimal - Como os números representados em base 2 são muito extensos (dificultando a manipulação visual) costuma-se representar os valores binários em bases de valor mais elevado octal ou hexadecimal - Isso permite maior compactação de algarismos e melhor visualização dos valores

17 Professora: Tatiana Renata Garcia com adaptações do professor Benjamin Grando Moreira Introdução à Programação de Computadores Conversão de base: Binário para octal - Para converter um número binário para octal divide-se o número em grupos de 3 bits (começando da direita para esquerda) e converte-se para decimal 1 1 1 0 1 0 0 1 3 5 1 11101001 2 = 351 8 - Pode se necessário adicionar um ou dois zeros à esquerda para completar um grupo de 3 dígitos => 011 101 001 2

18 Professora: Tatiana Renata Garcia com adaptações do professor Benjamin Grando Moreira Introdução à Programação de Computadores Conversão de base: Binário para octal Maior número representado em 3 bits = 7 BinárioOctal 0000 0011 0102 0113 1004 1015 1106 1117

19 Professora: Tatiana Renata Garcia com adaptações do professor Benjamin Grando Moreira Introdução à Programação de Computadores Conversão de base: Octal para binário - Cada dígito octal é substituído pelo número binário de três dígitos - Converte-se o grupo de 3 bits da mesma forma que a conversão de decimal para binário 467 8 = 1 0 0 1 1 0 1 1 1 2 4 6 7

20 Professora: Tatiana Renata Garcia com adaptações do professor Benjamin Grando Moreira Introdução à Programação de Computadores Conversão de base: Binário para hexadecimal - Para converter um número binário para hexadecimal o processo é semelhante ao octal, entretanto divide-se o número em grupos de 4 bits (começando da direita para esquerda) 11 1110 1001 3 E 9 1111101001 2 = 3E9 16 - Pode se necessário adicionar um ou dois zeros à esquerda para completar um grupo de 4 dígitos => 0011 1110 1001 2

21 Professora: Tatiana Renata Garcia com adaptações do professor Benjamin Grando Moreira Introdução à Programação de Computadores Conversão de base: Binário para hexadecimal BinárioOctal 00000 00011 00102 00113 01004 01015 01106 01117 10008 10019 1010A 1011B 1100C 1101D 1110E 1111F

22 Professora: Tatiana Renata Garcia com adaptações do professor Benjamin Grando Moreira Introdução à Programação de Computadores Conversão de base: Hexadecimal para binário - Na conversão de hexadecimal para binário cada dígito hexadecimal é substituído pelo número binário de quatro dígitos (semelhante ao octal) 467 16 = 0100 0110 0111 2 4 6 7

23 Professora: Tatiana Renata Garcia com adaptações do professor Benjamin Grando Moreira Introdução à Programação de Computadores Conversão de base: Resumo - Procedimentos para conversão entre sistemas de numeração: -Polinômio -Divisão -Agrupamento de bits

24 Professora: Tatiana Renata Garcia com adaptações do professor Benjamin Grando Moreira Introdução à Programação de Computadores Conversão de base: Resumo

25 Professora: Tatiana Renata Garcia com adaptações do professor Benjamin Grando Moreira Introdução à Programação de Computadores Conversão de base: Conversão octal hexadecimal - Não é realizada diretamente => não há relação entre os dígitos - A conversão é realizada com uma base intermediária => binária - Conversão em duas etapas: 1) número original: base octal (hexadecimal) => binária. 2) resultado intermediário: binária => hexadecimal (octal) A 3 0 16 1010 0011 0 000 2 5 0 6 0 8

26 Professora: Tatiana Renata Garcia com adaptações do professor Benjamin Grando Moreira Introdução à Programação de Computadores Conversão de base: Conversão da base B para decimal - Utiliza-se a regra do polinômio com a base B - Exemplo: 443 5 = 123 10 4*5 2 + 4*5 1 + 3*5 0 = 120 + 20 + 3 = 123 - Podemos utilizar a base decimal como a base intermediária para fazer a conversão de uma base A qualquer para outra base B qualquer

27 Professora: Tatiana Renata Garcia com adaptações do professor Benjamin Grando Moreira Introdução à Programação de Computadores Conversão de base: Conversão decimal para base B - Divide-se o número decimal pela base B para obter o quociente e o resto - Divide-se o quociente obtido pela base B para obter um novo quociente e um novo resto - Repete-se o processo até que o quociente seja 0 (zero) Exemplo: 123 10 = 443 5 (base 5) 123 5 3 24 5 4 4 5 4 0

28 Professora: Tatiana Renata Garcia com adaptações do professor Benjamin Grando Moreira Introdução à Programação de Computadores Conversão de base: Conversão base A base B - Podemos utilizar a base decimal como a base intermediária para fazer a conversão de uma base A qualquer para outra base B qualquer - Conversão em duas etapas: 1 – Base A para decimal 2 – Número decimal para base B - Como podemos converter 221 4 para um número na base 7?

29 Professora: Tatiana Renata Garcia com adaptações do professor Benjamin Grando Moreira Introdução à Programação de Computadores Conversão de base: Conversão base A base B - Base 4 – dígitos 0, 1, 2, 3 - Base 7 – dígitos 0, 1, 2, 3, 4, 5, 6 - Passo 1: converter 221 4 para base decimal (polinômio) 2*4 2 + 2*4 1 + 1*4 0 = 2*16 + 2*4 + 1*1 = 32+8+1 = 41 - Passo 2: converter 41 10 para base 7 (divisão) 41 7 6 5 7 221 4 = 56 7 5 0

30 Professora: Tatiana Renata Garcia com adaptações do professor Benjamin Grando Moreira Introdução à Programação de Computadores Exercícios: Converta os seguintes números para base decimal: a)101011 2 b)10000110 2 Converta os seguintes números para base binária: a)1FF0 16 b)1287 10 c)753 8 Converta os seguintes números de uma base A para base B: a)257 13 => X 6 b) 1432 5 => X 7

31 Professora: Tatiana Renata Garcia com adaptações do professor Benjamin Grando Moreira Introdução à Programação de Computadores Converta os seguintes números para base decimal: a)101011 2 43 b)10000110 2 134 Converta os seguintes números para base binária: a)1FF0 16 0001 1111 1111 0000 b)1287 10 10100000111 c)753 8 111 101 011 Converta os seguintes números de uma base A para base B: a)257 13 => X 6 257 13 = 410 10 = 1522 6 b)1432 5 => X 7 1432 5 = 242 10 = 464 7

32 Professora: Tatiana Renata Garcia com adaptações do professor Benjamin Grando Moreira Introdução à Programação de Computadores Objetivos da aula: - Motivação - Apresentar os sistemas de numeração - Conversão de base - Representação dos números utilizados pelos computadores

33 Professora: Tatiana Renata Garcia com adaptações do professor Benjamin Grando Moreira Introdução à Programação de Computadores Representação dos números: - As informações manipuladas pelos computadores estão na base binária (representados na forma hexadecimal) - Como o computador realiza as operações aritméticas? - Como os números negativos são armazenados?

34 Professora: Tatiana Renata Garcia com adaptações do professor Benjamin Grando Moreira Introdução à Programação de Computadores Representação dos números inteiros: - Os números inteiros sem sinal são armazenados conforme apresentado nos slides anteriores -A quantidade de números representável depende da quantidade de bits disponíveis -8 bits 1 byte - Existem diferentes convenções para representar os números com sinal (positivos e negativos) - A mais utilizada é a representação em complemento a dois

35 Professora: Tatiana Renata Garcia com adaptações do professor Benjamin Grando Moreira Introdução à Programação de Computadores Representação em complemento a dois: - Utilizada para representar números inteiros positivos e negativos - O bit mais significativo (mais à esquerda) é o bit de sinal -Bit = 0 o número é positivo -Bit = 1 o número é negativo - O número 0 (zero) possui apenas uma representação todos os bits em zero – considerado um número positivo

36 Professora: Tatiana Renata Garcia com adaptações do professor Benjamin Grando Moreira Introdução à Programação de Computadores Referências: GUIMARÃES, A. M.; LAGES, N. A. C. Introdução à Ciência da Computação. LTC: Rio de Janeiro, 2009 [reimpressão] TANENBAUM, A. S. Organização Estruturada de Computadores, 3ª Edição, São Paulo, Prentice Hall do Brasil, 1992 STALLINGS, W. Arquitetura e Organização de Computadores. 8ª Edição, São Paulo, Pearson, 2010.


Carregar ppt "Professora: Tatiana Renata Garcia com adaptações do professor Benjamin Grando Moreira Introdução à Programação de Computadores Sistemas de Numeração."

Apresentações semelhantes


Anúncios Google