Baixe o app para aproveitar ainda mais
Prévia do material em texto
Introdução à InformáticaIntrodução à Informática Sistemas NuméricosSistemas Numéricos Operações Aritméticas em Diversas BasesOperações Aritméticas em Diversas Bases Ageu Pacheco e AlexandreAgeu Pacheco e Alexandre MeslinMeslin Sistemas NuméricosSistemas Numéricos Operações Aritméticas Operações Aritméticas emem DiversasDiversas BasesBases zz ObjetivoObjetivo da Aula:da Aula: zz Partindo da base 10, ver como operações Partindo da base 10, ver como operações aritméticas são efetuadas em outras aritméticas são efetuadas em outras bases; em especial a 2.bases; em especial a 2. Sistemas NuméricosSistemas Numéricos Operações Aritméticas em Diversas BasesOperações Aritméticas em Diversas Bases zz AdiçãoAdição nana base 10base 10:: (1)(1) ((1)1) 66 771010 ++ 88 441010 11 55 111010 Sistemas NuméricosSistemas Numéricos Operações Aritméticas em Diversas BasesOperações Aritméticas em Diversas Bases zz AdiçãoAdição nana base 10base 10:: (1)(1) ((1)1) (1) (1)(1) (1) 66 771010 66 771010 ++ 88 441010 ++ 88 441010 11 55 111010 1 (15) (11)1 (15) (11) -- 10 1010 10 11 55 111010 Sistemas NuméricosSistemas Numéricos Operações Aritméticas em Diversas BasesOperações Aritméticas em Diversas Bases zz Adição na base 9Adição na base 9: : (1)(1) ((1)1) 66 7799 ++ 88 4499 1 (15) (11)1 (15) (11) -- 9 99 9 1 61 6 2299 Sistemas NuméricosSistemas Numéricos Operações Aritméticas em Diversas BasesOperações Aritméticas em Diversas Bases zz Adição na base 9Adição na base 9:: Na base 8:Na base 8: (1)(1) ((1)1) (1)(1) ((1)1) 66 7799 7 77 788 ++ 88 4499 + 7 7+ 7 788 1 (15) (11)1 (15) (11) 1 (15) (14) 1 (15) (14) -- 9 99 9 -- 8 88 8 1 61 6 2299 1 7 61 7 688 Sistemas NuméricosSistemas Numéricos Operações Aritméticas em Diversas BasesOperações Aritméticas em Diversas Bases zz Adição na base 7Adição na base 7:: (1)(1) ((1)1) 22 5577 ++ 55 4477 1 (8) (9)1 (8) (9) -- 7 77 7 1 11 1 2277 Sistemas NuméricosSistemas Numéricos Operações Aritméticas em Diversas BasesOperações Aritméticas em Diversas Bases zz Adição na base 7Adição na base 7:: Na base 16:Na base 16: (1)(1) ((1)1) (1)(1) ((1)1) 22 5577 F 1 AF 1 A1616 ++ 55 4477 + E 0 9+ E 0 91616 1 (8) (9)1 (8) (9) 1 (29) 2 (19)1 (29) 2 (19) -- 7 77 7 -- 16 1616 16 1 11 1 2277 1 D 2 31 D 2 31616 Sistemas NuméricosSistemas Numéricos Operações Aritméticas em Diversas BasesOperações Aritméticas em Diversas Bases zz Adição na base 16Adição na base 16:: (1)(1) ((1)1) 2 F F2 F F1616 + 1 F E+ 1 F E1616 4 (31) (29)4 (31) (29) -- 16 1616 16 4 F4 F DD1616 Sistemas NuméricosSistemas Numéricos Operações Aritméticas em Diversas BasesOperações Aritméticas em Diversas Bases zz Adição na base 16Adição na base 16:: Na base 2:Na base 2: (1)(1) ((1)1) (1)(1) ((1)1) ((1)1) ((1)1) ((1)1) 2 F F2 F F1616 1 0 1 1 11 0 1 1 122 + 1 F E+ 1 F E1616 + 1 1 0 1 1+ 1 1 0 1 122 4 (31) (29)4 (31) (29) (3) (2)(2) (3) (2) (3) (2)(2) (3) (2) -- 16 1616 16 -- 2 2 2 2 22 2 2 2 2 4 F4 F DD1616 1 1 0 0 1 01 1 0 0 1 022 Sistemas NuméricosSistemas Numéricos Operações Aritméticas em Diversas BasesOperações Aritméticas em Diversas Bases zz Adição na base 2 (cont.):Adição na base 2 (cont.): ((1)1) ((1)1) ((1)1) 1 0 1 0 01 0 1 0 022 + 1 1 1 0 1+ 1 1 1 0 122 1 1 0 0 0 11 1 0 0 0 122 Sistemas NuméricosSistemas Numéricos Operações Aritméticas em Diversas BasesOperações Aritméticas em Diversas Bases zz Adição na base 2 (cont.):Adição na base 2 (cont.): ((1)1) ((1)1) ((1)1) (10) (10) ((1)1) ((1)1) ((1)1) ((1)1) 1 0 1 0 01 0 1 0 022 1 1 0 1 11 1 0 1 122 + 1 1 1 0 1+ 1 1 1 0 122 1 0 1 0 11 0 1 0 122 1 1 0 0 0 11 1 0 0 0 122 + 1 1 0 1 0+ 1 1 0 1 022 1 0 0 1 0 1 01 0 0 1 0 1 022 Sistemas NuméricosSistemas Numéricos Operações Aritméticas em Diversas BasesOperações Aritméticas em Diversas Bases zz Subtração na base 10:Subtração na base 10: (4) (+10)(4) (+10) 4 74 71010 5 25 21010 -- 2 42 41010 -- 1 71 71010 2 32 31010 3 53 51010 Sistemas NuméricosSistemas Numéricos Operações Aritméticas em Diversas BasesOperações Aritméticas em Diversas Bases zz Subtração na base 10 (cont.):Subtração na base 10 (cont.): 5 25 21010 3 0 03 0 01010 -- 11(+1)(+1) 771010 -- 11(+1)(+1) 44(+1)(+1) 771010 3 53 51010 1 5 31 5 31010 Sistemas NuméricosSistemas Numéricos Operações Aritméticas em Diversas BasesOperações Aritméticas em Diversas Bases zz Subtração na base 8:Subtração na base 8: 5 25 288 -- 11(+1)(+1) 7788 3 33 388 Sistemas NuméricosSistemas Numéricos Operações Aritméticas em Diversas BasesOperações Aritméticas em Diversas Bases zz Subtração na base 8 (cont.):Subtração na base 8 (cont.): 5 25 288 3 0 03 0 088 -- 11(+1)(+1) 7788 -- 11(+1)(+1) 44(+1)(+1) 7788 3 33 388 1 3 11 3 188 Sistemas NuméricosSistemas Numéricos Operações Aritméticas em Diversas BasesOperações Aritméticas em Diversas Bases zz Subtração na base 16:Subtração na base 16: 5 25 21616 -- 11(+1)(+1) 771616 3 B3 B1616 Sistemas NuméricosSistemas Numéricos Operações Aritméticas em Diversas BasesOperações Aritméticas em Diversas Bases zz Subtração na base 16 (cont.):Subtração na base 16 (cont.): 5 25 21616 3 0 03 0 01616 -- 11(+1)(+1) 771616 -- 11(+1)(+1) 44(+1)(+1) 771616 3 B3 B1616 1 B 91 B 91616 Sistemas NuméricosSistemas Numéricos Operações Aritméticas em Diversas BasesOperações Aritméticas em Diversas Bases zz Subtração na base 16 (cont):Subtração na base 16 (cont): 3 D C3 D C1616 -- 11(+1)(+1) FF(+1)(+1) EE1616 1 (13) (14)1 (13) (14) 1 D E1 D E1616 Sistemas NuméricosSistemas Numéricos Operações Aritméticas em Diversas BasesOperações Aritméticas em Diversas Bases zz Subtração na base 16 (cont):Subtração na base 16 (cont): 3 D C3 D C1616 C 0 AC 0 A1616 -- 11(+1)(+1) FF(+1)(+1) EE1616 -- 22(+1)(+1) CC(+1)(+1) CC1616 1 (13) (14)1 (13) (14) 9 3 (14)9 3 (14) 1 D E1 D E1616 9 3 E9 3 E1616 Sistemas NuméricosSistemas Numéricos Operações Aritméticas em Diversas BasesOperações Aritméticas em Diversas Bases zz Subtração na base 2:Subtração na base 2: 1 1 0 0 1 0 1 1 0 0 1 0 22 -- 1 0 1 1 0 1 1 0 1 1 0 1 22 0 0 0 1 0 1 0 0 0 1 0 1 22 1 1 0 0 0 0 0 1 1 1 0 0 0 0 0 1 22 -- 1 0 0 1 1 1 1 0 1 0 0 1 1 1 1 0 22 0 0 1 0 0 0 1 1 0 0 1 0 0 0 1 1 22 Sistemas NuméricosSistemas Numéricos Operações Aritméticas em Diversas BasesOperações Aritméticas em Diversas Bases zz Representaçãoem “complemento à base”Representação em “complemento à base” O complemento de um número O complemento de um número NN em uma dada baseem uma dada base BB é igual a diferença entre o número e a próximaé igual a diferença entre o número e a próxima potência da base.potência da base. Ex: Complemento a 10 de 734Ex: Complemento a 10 de 734 10001000 próxima potência 10próxima potência 1033 -- 734734 266 266 Sistemas NuméricosSistemas Numéricos Operações Aritméticas em Diversas BasesOperações Aritméticas em Diversas Bases Ex: Complemento a 2 de 1011Ex: Complemento a 2 de 1011 próxima potência 2próxima potência 244 = 16 = 10000= 16 = 10000 1000010000 -- 10111011 101 101 é o complemento a 2 de 1011é o complemento a 2 de 1011 Sistemas NuméricosSistemas Numéricos Operações Aritméticas em Diversas BasesOperações Aritméticas em Diversas Bases Ex: Complemento a 2 de 101101Ex: Complemento a 2 de 101101 próxima potência 1000000próxima potência 1000000 10000001000000 -- 101101101101 10011 10011 é oé o compcomp. a 2 de 101101. a 2 de 101101 Sistemas NuméricosSistemas Numéricos Operações Aritméticas em Diversas BasesOperações Aritméticas em Diversas Bases zz Representação em “complemento à base” (cont.)Representação em “complemento à base” (cont.) -- O cálculo do complemento à base em qualquerO cálculo do complemento à base em qualquer base é tedioso por causa dos “vembase é tedioso por causa dos “vem--um”.um”. -- Uma alternativa mais confortável é calcular oUma alternativa mais confortável é calcular o “complemento à base menos 1” e depois somar“complemento à base menos 1” e depois somar 1 ao resultado para obter o complemento à1 ao resultado para obter o complemento à base.base. Sistemas NuméricosSistemas Numéricos Operações Aritméticas em Diversas BasesOperações Aritméticas em Diversas Bases Ex: Base 10 “complemento a 9” de 734Ex: Base 10 “complemento a 9” de 734 9 9 99 9 9 -- 7 3 47 3 4 2 6 5 (complemento a 9 de 734)2 6 5 (complemento a 9 de 734) + 1+ 1 2 6 6 (complemento a 10 de 734)2 6 6 (complemento a 10 de 734) Sistemas NuméricosSistemas Numéricos Operações Aritméticas em Diversas BasesOperações Aritméticas em Diversas Bases Ex: Base 2 “complemento a 1” de 1011Ex: Base 2 “complemento a 1” de 1011 1 1 1 11 1 1 1 -- 1 0 1 11 0 1 1 1 0 0 (complemento a 1 de 1011)1 0 0 (complemento a 1 de 1011) + 1+ 1 1 0 1 (complemento a 2 de 1011)1 0 1 (complemento a 2 de 1011) Sistemas NuméricosSistemas Numéricos Operações Aritméticas em Diversas BasesOperações Aritméticas em Diversas Bases zz Observação importante:Observação importante: Para obter o “complemento a 1” de um númeroPara obter o “complemento a 1” de um número binário bastabinário basta invertêinvertê--lolo bit a bit.bit a bit. Ex: complemento a 1 de 1 0 1 1Ex: complemento a 1 de 1 0 1 1 0 1 0 00 1 0 0 Sistemas NuméricosSistemas Numéricos Operações Aritméticas em Diversas BasesOperações Aritméticas em Diversas Bases zz Operações de subtração em qualquer base Operações de subtração em qualquer base podem ser feitas utilizando complemento à base.podem ser feitas utilizando complemento à base. Ex: Subtração 913 Ex: Subtração 913 –– 734 na base 10734 na base 10 913 999 913 999 913913 -- 734 734 -- 734 + 266 734 + 266 179 265 1)17179 265 1)1799 + 1 + 1 266266 Sistemas NuméricosSistemas Numéricos Operações Aritméticas em Diversas BasesOperações Aritméticas em Diversas Bases Ex: Subtração 11001 Ex: Subtração 11001 –– 10011 na base 210011 na base 2 complemento a 1 do subtraendo = 01100complemento a 1 do subtraendo = 01100 compcomp. a. a 2:2: 01100 (01100 (compcomp.a 1) 11001 (minuendo).a 1) 11001 (minuendo) + 1 + 01101+ 1 + 01101 01101 (01101 (compcomp.a 2) 1)00110 (resultado).a 2) 1)00110 (resultado) Sistemas NuméricosSistemas Numéricos Operações Aritméticas em Diversas BasesOperações Aritméticas em Diversas Bases zz Regra prática para obtenção do complemento a 2:Regra prática para obtenção do complemento a 2: Para se obter diretamente o complemento a 2 de Para se obter diretamente o complemento a 2 de um número basta percorrer o número da direita um número basta percorrer o número da direita para a esquerda repetindopara a esquerda repetindo--se os dígitos zeros até se os dígitos zeros até encontrar o primeiro dígito 1 (um), o qual deve ser encontrar o primeiro dígito 1 (um), o qual deve ser mantido. A partir daí, todos os dígitos (zeros ou mantido. A partir daí, todos os dígitos (zeros ou uns) a esquerda desse primeiro 1 deverão ser uns) a esquerda desse primeiro 1 deverão ser invertidos. invertidos. Sistemas NuméricosSistemas Numéricos Operações Aritméticas em Diversas BasesOperações Aritméticas em Diversas Bases Exemplos:Exemplos: 1) 1010 0110 1) 1010 0110 ((compcomp. a 2). a 2) 2) 11001 00111 (2) 11001 00111 (compcomp. a 2). a 2) 3) 111000 001000 (3) 111000 001000 (compcomp. a 2) . a 2) 4) 1100110 0011010 (4) 1100110 0011010 (compcomp. a 2). a 2) Sistemas NuméricosSistemas Numéricos Operações Aritméticas em Diversas BasesOperações Aritméticas em Diversas Bases zz Representação de números com sinal:Representação de números com sinal: Para simplificar, vamos supor que os números Para simplificar, vamos supor que os números sejam representados internamente ao sejam representados internamente ao computador no formato de 8 bits (1 byte), ou seja computador no formato de 8 bits (1 byte), ou seja eles são operados e armazenados em 8 bits. eles são operados e armazenados em 8 bits. 7 6 5 4 3 2 1 07 6 5 4 3 2 1 0 Bit de sinal Bit de sinal MSBMSB LSBLSB 0 0 –– nnoo positivopositivo 1 1 –– nnoo negativonegativo Sistemas NuméricosSistemas Numéricos Operações Aritméticas em Diversas BasesOperações Aritméticas em Diversas Bases zz Representação de números com sinal (cont.):Representação de números com sinal (cont.): Em 8 bits é possível representar 256 números Em 8 bits é possível representar 256 números diferentes : de 00000000 a 11111111, já quediferentes : de 00000000 a 11111111, já que 2288 = 256.= 256. Com o bit mais significativo representando o Com o bit mais significativo representando o sinal, a gama de números possíveis de serem sinal, a gama de números possíveis de serem representados permanece a mesma, só que representados permanece a mesma, só que agora metade negativa e metade positiva. agora metade negativa e metade positiva. Sistemas NuméricosSistemas Numéricos Operações Aritméticas em Diversas BasesOperações Aritméticas em Diversas Bases zz Exemplos:Exemplos: + 127+ 127 + 1+ 1 (+) 0(+) 0 -- 11 -- 128128 1111111111111100 1100000000000000 0000000000000000 1111111111111111 0000000000000011 Sistemas NuméricosSistemas Numéricos Operações Aritméticas em Diversas BasesOperações Aritméticas em Diversas Bases zz Mais exemplos:Mais exemplos: + 74+ 74 + 27 + 27 -- 10 10 -- 27 27 -- 7474 0011001100001100 1111001111000000 0011110011111111 1100110000111111 0011110011110011 Sistemas NuméricosSistemas Numéricos Operações Aritméticas em Diversas BasesOperações Aritméticas em Diversas Bases zz Operações aritméticasno computador:Operações aritméticas no computador: Números positivos são submetidos na forma Números positivos são submetidos na forma “normal”.“normal”. Ex: + 22 Ex: + 22 Números negativos na forma complemento a 2.Números negativos na forma complemento a 2. Ex: Ex: -- 2222 0011110011000000 0011001100111111 Sistemas NuméricosSistemas Numéricos Operações Aritméticas em Diversas BasesOperações Aritméticas em Diversas Bases zz Desta forma, todas as operações de soma e Desta forma, todas as operações de soma e subtração envolvendo números com bits de sinal subtração envolvendo números com bits de sinal produzem diretamente resultados consistentes, produzem diretamente resultados consistentes, ou seja, positivos na forma “normal” e negativos ou seja, positivos na forma “normal” e negativos em complemento a 2.em complemento a 2. zz A vantagem de representar números negativos A vantagem de representar números negativos em complemento a 2 internamente ao em complemento a 2 internamente ao computador é que todas as operações de computador é que todas as operações de subtração ficam transformadas em simples subtração ficam transformadas em simples somas.somas. Sistemas NuméricosSistemas Numéricos Operações Aritméticas em Diversas BasesOperações Aritméticas em Diversas Bases zz Exemplos: Exemplos: Tomemos como exemplo os números 9 e 4. Tomemos como exemplo os números 9 e 4. Vamos ver como ficam todas as possibilidades Vamos ver como ficam todas as possibilidades de somas e subtrações envolvendo suas formas de somas e subtrações envolvendo suas formas positivas e negativas.positivas e negativas. Sistemas NuméricosSistemas Numéricos Operações Aritméticas em Diversas BasesOperações Aritméticas em Diversas Bases zz Somas: Somas: + 4 00000100 +4 00000100+ 4 00000100 +4 00000100 ((++) + 9 00001001 (+) ) + 9 00001001 (+) -- 9 111101119 11110111 +13 00001101 +13 00001101 -- 5 111110115 11111011 -- 4 11111100 4 11111100 -- 4 111111004 11111100 ((++) + 9 00001001 (+) ) + 9 00001001 (+) -- 9 111101119 11110111 + 5 1)00000101 + 5 1)00000101 -- 13 1)11110011 13 1)11110011 Sistemas NuméricosSistemas Numéricos Operações Aritméticas em Diversas BasesOperações Aritméticas em Diversas Bases zz Subtrações: Subtrações: + 4 00000100 00000100+ 4 00000100 00000100 ((--) + 9 00001001 11110111 (+)) + 9 00001001 11110111 (+) -- 5 111110115 11111011 + 4 00000100 00000100+ 4 00000100 00000100 ((--) ) -- 9 11110111 00001001 (+)9 11110111 00001001 (+) +13 00001101+13 00001101 Sistemas NuméricosSistemas Numéricos Operações Aritméticas em Diversas BasesOperações Aritméticas em Diversas Bases zz Subtrações: Subtrações: -- 4 11111100 111111004 11111100 11111100 ((--) + 9 00001001 11110111 (+)) + 9 00001001 11110111 (+) --13 1) 1111001113 1) 11110011 -- 4 11111100 111111004 11111100 11111100 ((--) ) -- 9 11110111 00001001 (+)9 11110111 00001001 (+) + 5 1) 00000101 + 5 1) 00000101 Sistemas NuméricosSistemas Numéricos Operações Aritméticas em Diversas BasesOperações Aritméticas em Diversas Bases zz ““OverflowOverflow” em operações aritméticas” em operações aritméticas -- O maior número positivo que pode serO maior número positivo que pode ser carregado carregado (armazenado) em um registro de(armazenado) em um registro de 8 bits é +127 (01111111).8 bits é +127 (01111111). -- Nas mesmas condições o menor númeroNas mesmas condições o menor número negativo é negativo é ––128 (10000000).128 (10000000). Sistemas NuméricosSistemas Numéricos Operações Aritméticas em Diversas BasesOperações Aritméticas em Diversas Bases zz ““OverflowOverflow” em operações aritméticas (cont.)” em operações aritméticas (cont.) -- Apenas para ilustrar, supondo ser o computadorApenas para ilustrar, supondo ser o computador de 8 bits, temos que, caso o resultado dede 8 bits, temos que, caso o resultado de qualquer operação aritmética exceda um dosqualquer operação aritmética exceda um dos valores anteriores, é dito que uma condição devalores anteriores, é dito que uma condição de overflowoverflow ocorreu, o que normalmente acarretaocorreu, o que normalmente acarreta erro.erro. Sistemas NuméricosSistemas Numéricos Operações Aritméticas em Diversas BasesOperações Aritméticas em Diversas Bases zz ““OverflowOverflow” em operações aritméticas (cont.)” em operações aritméticas (cont.) -- A detecção deA detecção de overflowoverflow é simples e consiste em:é simples e consiste em: 1. Há um “vai1. Há um “vai--um” propagado para o bit de sinalum” propagado para o bit de sinal sem “vaisem “vai--um” saindo deste.um” saindo deste. 2. Há um “vai2. Há um “vai--um” propagado pelo bit de sinalum” propagado pelo bit de sinal sem este ter recebido “vaisem este ter recebido “vai--um”. um”. Sistemas NuméricosSistemas Numéricos Operações Aritméticas em Diversas BasesOperações Aritméticas em Diversas Bases zz Exemplos:Exemplos: 1) + 88 0 10110001) + 88 0 1011000 (+) + 46 (+) 0 0101110(+) + 46 (+) 0 0101110 + 134 1 0000110+ 134 1 0000110 overflowoverflow Sistemas NuméricosSistemas Numéricos Operações Aritméticas em Diversas BasesOperações Aritméticas em Diversas Bases zz Exemplos (cont):Exemplos (cont): 1) + 88 0 10110001) + 88 0 1011000 (+) + 46 (+) 0 0101110(+) + 46 (+) 0 0101110 + 134 1 0000110+ 134 1 0000110 2) 2) -- 76 (01001100) 1 011010076 (01001100) 1 0110100 ((--) + 68 (01000100) 1 0111100) + 68 (01000100) 1 0111100 -- 144 1 0 1110000144 1 0 1110000 overflowoverflow overflowoverflow
Compartilhar