Prévia do material em texto
Prof. Msc. Edward Melo Sistemas de Numeração Conceito de Número • O primeiro grande passo do homem rumo à ciência e à tecnologia foi a concepção da idéia de número. • O número é um conceito abstrato, na verdade é a idéia comum a dois conjuntos que estão sendo comparados. • Uma teoria sobre o surgimento dos números surgiu, provavelmente, na Antiguidade, quando um pastor sentiu a necessidade de verificar se o rebanho de ovelhas que levava para o pasto era o mesmo que retornava. • É provável que ele comparava o conjunto de ovelhas (rebanho) com um conjunto de sementes ou pedras. Conceito de Número • Com o passar do tempo e com o crescimento do rebanho, o pastor deve ter passado a comparar por agrupamentos, o que deu origem ao conceito de base de um sistema de numeração. • Por exemplo, para cada ovelha era utilizada uma semente. Ao contar um agrupamento de vinte ovelhas, as sementes seriam substituídas por uma pedra. Conceito de Número • Mas o homem necessitava de um conjunto para estabelecer as comparações mais prático que pedras, um conjunto que estivesse “mais à mão” sempre que necessário. • Provavelmente este é o início do nosso sistema de numeração de base decimal. O Ábaco • Assim que o homem percebeu que, a partir de marcas feitas no barro ou numa tábua coberta de poeira, podia fazer cálculos mais rapidamente do que com os dedos, ele inventou o “ábaco”. http://pt.wikipedia.org/wiki/Imagem:Abacus_6.png Sistemas de Numeração • Um sistema de numeração é um sistema em que um conjunto de números são representados por numerais de uma forma consistente. • Em condições ideais, um sistema de numeração deve: – Representar uma grande quantidade de números úteis (ex.: todos os números inteiros, ou todos os números reais); – Dar a cada número representado uma única descrição (ou pelo menos uma representação padrão); – Refletir as estruturas algébricas e aritméticas dos números. • Por exemplo, a representação comum decimal dos números inteiros fornece a cada número inteiro uma representação única como uma sequência finita de algarismos, com as operações aritméticas (adição, subtração, multiplicação e divisão) estando presentes como os algoritmos padrões da aritmética. Contudo, quando a representação decimal é usada para os números racionais ou para os números reais, a representação deixa de ser padronizada: muitos números racionais têm dois tipos de numerais, um padrão que tem fim (por exemplo 2,31), e outro que repete-se periodicamente (como 2,30999999...). Notação Posicional Notação Posicional Notação Posicional Sistemas de Numeração • Tipos de Sistemas de Numeração – Decimal ou base 10 – Binário ou base 2 – Octal ou base 8 – Hexadecimal ou base 16 Sistema Decimal • Tem sua origem, provavelmente, na Antiguidade quando o homem associava coisas aos dedos da mão. • Para cada dedo, foi associado um “símbolo” diferente: 1, 2, 3, ..., 9. • Como existia a necessidade de representar o conjunto vazio, surgiu o 0 (zero). • Assim, para contar coisas até dez, o homem podia associar “dedos” ou “símbolos” que os representavam. • Porém, surgiu um problema: como representar quantidades maiores que dez sem ter que inventar um novo símbolo para cada valor? • Solução: utilizar os símbolos já existentes e combiná-los para formar representações de quantidades maiores. • Por isso, após atingir o nove no Sistema Decimal, repetimos a próxima dezena e somamos a unidade. Sistema Binário • É o sistema mais simples de numeração. • Possui apenas dois dígitos: 0 e 1. • As operações são executadas de forma rápida e simples. • Quanto mais extenso mais informação pode ser representada. • Exemplos: – Decimal Binário Decimal Binário – 0 0000 6 0110 – 1 0001 7 0111 – 2 0010 8 1000 – 3 0011 9 1001 – 4 0100 10 1010 – 5 0101 11 ???? Conversão Binário x Decimal • O processo de conversão de binário para decimal consiste em representar o número decimal como uma soma de potências de dois e somar sua sequência. Exemplo: Converter 1011 da base 2 para base 10. 1 0 1 1 1 x 20 = 1 x 1 = 1 1 x 21 = 1 x 2 = 2 0 x 22 = 0 x 4 = 0 1 x 23 = 1 x 8 = 8 11 + 1011(2) = 11(10) Conversão Binário x Decimal • Exemplo: Converter 1000 da base 2 para base 10. 1 0 0 0 0 x 20 = 0 x 1 = 0 0 x 21 = 0 x 2 = 0 0 x 22 = 0 x 4 = 0 1 x 23 = 1 x 8 = 8 8 + 1000(2) = 8(10) Conversão Binário x Decimal • Exemplo: Converter 1101 da base 2 para base 10. 1 1 0 1 1 x 20 = 1 x 1 = 1 0 x 21 = 0 x 2 = 0 1 x 22 = 1 x 4 = 4 1 x 23 = 1 x 8 = 8 13 + 1101(2) = 13(10) Conversão Decimal x Binário • Para converter um número da base decimal para binário é necessário dividir o número sucessivas vezes por dois, até que o quociente seja igual a zero. • O resto da última divisão representa o dígito mais à esquerda do número binário, o resto da divisão o próximo dígito, e assim por diante. • Observe que o resto da divisão por dois será sempre 0 ou 1. Conversão Decimal x Binário • Converter 1968 da base 10 para base 2 1968(10) = 11110110000 (2) Decimais fracionários em binários • Converte-se a parte do inteiro normalmente • Multiplica-se a parte fracionária por 2 sucessivamente, até que ela seja igual a zero ou se chegue na precisão desejada • Ex.: 0,562510 Parte inteira -> 010 = 02 Parte fracionada -> 0,562510 fração x 2 = vai UM + fração seguinte 0,5625 x 2 = 1 + 0,1250 0,1250 x 2 = 0 + 0,2500 0,2500 x 2 = 0 + 0,5000 0,5000 x 2 = 1 + 0,0000 Utiliza-se a sequência de “vai UM”, na ordem de cima para baixo: 0,562510 = 0,10012 Decimais fracionários em binários • Exercício.: Converta os números decimais fracionários abaixo em números binários fracionários. 0,7510 = ? 0,1010 = ? 41,7810 =? 0,112 0,000112 101001,1100012 Sistema Hexadecimal • Foi criado para facilitar a manipulação de códigos em linguagem Assembly, em contrapartida ao sistema binário. • Sua origem deve-se à interpretação das instruções das linguagens de programação em bytes, que são compostos de oito dígitos (bits). • Como o sistema de numeração Decimal oferece apenas dez dígitos distintos, utiliza-se letras para completar o sistema Hexadecimal Sistema Hexadecimal - Conversão • Com quatro dígitos binários é possível representar todos os dígitos hexadecimais • Para fazer a conversão Hexadecimal x Binário, cada dígito hexadecimal é substituído pelo numero binário de 4 dígitos equivalente. • Para fazer a conversão Binário x Hexadecimal, basta agrupar quatro dígitos binários e substituir pelo dígito hexadecimal equivalente. Sistema Hexadecimal - Conversão Decimal Binário Hexadecimal 0 0000 0 1 0001 1 2 0010 2 3 0011 3 4 0100 4 5 0101 5 6 0110 6 7 0111 7 8 1000 8 9 1001 9 10 1010 A 11 1011 B 12 1100 C 13 1101 D 14 1110 E 15 1111 F Conversão Binário X Hexadecimal • 01010111(2) = ?(16) 0101 0111 5 7 57(16) ou 57h Conversão Binário X Hexadecimal • 11011011(2) = ?(16) 1101 1011 D B DB(16) ou DBh Conversão Hexadecimal x Binário • 9D8F(16) = ?(2) 9 D 8 F 1001 1101 1000 1111 1001110110001111 Conversão Hexadecimal x Binário • CAFE(16) = ?(2) C A F E 1100 1010 1111 1110 1100101011111110 Sistema Octal • O sistema de numeração Octal utiliza 8 dígitos. • Cada conjunto de 3 bits pode ser visto como um número Octal. • A conversão para decimal e binário é análoga à do sistemahexadecimal, sendo que no sistema Octal trabalha-se com agrupamentos de 3 dígitos ao invés de 4. Conversão da base 2 para base 8 • Divide o número da direita para a esquerda em grupos de 3 bits (8=23) • Se o último grupo não é um múltiplo de 3 preenche- se com zeros à esquerda • Para cada grupo achar o número octal correspondente • Ex: – (10100111)2 = – 010 100 111 – 2 4 7 – (247)8 Conversão da base 8 para base 2 • Semelhante a de 2 para a base 8 no sentido inverso • Substitui cada algarismo octal pelos 3 bits correspondentes • Ex: – (627)8 – 6 2 7 – 110 010 111 – (110010111)2 Conversão da base 2 para base 16 • Idêntico a conversão da base 2 para 8 considerando 4 bits (16 = 24) • Divide o número da direita para a esquerda em grupos de 4 bits • Se o último grupo não é um múltiplo de 4 preenche-se com zeros à esquerda • Para cada grupo achar o número hexadecimal correspondente • Ex: – (101111)2 – 0010 1111 – 2 F – (2F)16 Conversão da base 16 para base 2 • Substitui cada algarismo hexadecimal pelos 4 bits correspondentes • Ex: – A2 – 10 2 – 1010 0010 – (10100010)2 Conversão da base 16 para base 8 • Primeiro converte de 16 para 2 • Com o resultado em binário, converte-se para 8 • Ex: – (A5)16 – A 5 – 10 5 – 1010 0101 – (10100101)2 – 010 100 101 – 2 4 5 – (245)8 Exercício • (22C)16 • (10011001)2 • (421)8 • (1DE)16 • (100100011)2 • (231)8 = (556)10 = (153)10 = (273)10 = (478)10 = (291)10 = (153 )10 Outra forma de converter base b decimal • Multiplique o dígito mais a esquerda pela base b e some o próximo dígito à direita • Multiplique a soma pela base b e some o próximo dígito • Repita o processo até que o dígito mais a direita tenha sido somado • Ex: (261)8 2 X 8 = 16 (16+6) X 8 = 176 176 + 1 = 177 – Importante: observe que o último dígito não é multiplicado apenas somado Regra genérica! Conversão de uma base decimal para uma base B • Processo inverso da conversão da base B para decimal • Divisões sucessivas pela base B até o quociente ser zero • O resto da última divisão representa o dígito mais a esquerda do número • O resto da divisão anterior o próximo dígito, a assim sucessivamente Exercício • (216)10 • (917)10 • (97)10 • (681)10 • (27)10 • (625)10 (330)8 (1625)8 (61)16 (2A9)16 (11011)2 (1001110001)2 • (X)8 • (X)8 • (X)16 • (X)16 • (X)2 • (X)2 Exercício • (1110 )2 • (1010100)2 • (110000)2 • (13)8 • (20)8 • (43)8 • (1111100101)2 • (10101)2 • (1101010)2 • (F)16 • (14)16 • (2E)16 = (16)8 = (124)8 = (60)8 = (1011)2 = (10000)2 = (100011)2 = (3E5)16 = (15)16 = (6A)16 = (1111)2 = (10100)2 = (101110)2 • (X)8 • (X)8 • (X)8 • (X)2 • (X)2 • (X)2 • (X)16 • (X)16 • (X)16 • (X)2 • (X)2 • (X)2 Exercício • (127)8 • (121074)8 • (635)8 • (3A7)16 • (251)16 • (AE)16 = (57)16 = (A23C)16 = (19D)16 = (1647)8 = (1121)8 = (256)8 • (X)16 • (X)16 • (X)16 • (X)8 • (X)8 • (X)8 Aritmética Binária • Operações semelhante a operação decimal • Soma: – 0 + 0 = 0 – 1 + 0 = 1 – 1 + 1 = 0 com “vai 1” • Ex.: 10101 + 101101 1000010 Exercício (base 2) • 1100 + 101 • 1011 + 10100 • 10111 + 1111 = 10001 = 11111 = 100110 Aritmética Binária Aritmética Binária • Subtração: – 0 - 0 = 0 – 1 - 0 = 1 – 1 - 1 = 0 – 0 - 1 = não é possível, logo retira-se 1unidade da ordem a esquerda e passa-se a ordem à direita como 2 (visto que 1 unidade da ordem à esquerda vale uma base de unidades (no caso 2) da ordem a direita (nesse caso 2 - 1 = 1) • Ex: 1010 - 111 11 Exercício (base 2) • 100001 - 11100 • 11101 - 110 • 10001 - 1010 = 101 = 10111 = 111 Aritmética Binária Aritmética Octal • Semelhante a forma binária • Soma: • o “vai 1” ocorre quando a soma de dois algarismos for maior ou igual ao valor da base (no caso, 8) – 1 + 7 = 0 com “vai 1” – 5 + 6 = 11 - 8 = 3 com “vai 1” • Ex: 51 + 267 340 Exercício (base 8) • 327 + 166 • 27 + 11 • 752 + 536 = 515 = 40 = 1510 Aritmética Octal Aritmética Octal • Semelhante a forma binária • Subtração: – quando não é possível a operação, retira-se 1 unidade da ordem a esquerda e passa-se a ordem à direita como 8 (visto que 1 unidade da ordem à esquerda vale uma base de unidades) somando-se ao valor que existe na posição • Ex: 511 - 327 162 Aritimética Hexadecimal • Semelhante a qualquer número • Soma: • o “vai 1” ocorre quando a soma de dois algarismos for maior ou igual ao valor da base (no caso, 16) – 1 + F = 0 com “vai 1” – 8 + A = 18 - 16 = 2 com “vai 1” • Ex: 9A + A1E AB8 Exercício (base 8) • 156 - 17 • 51 - 26 • 612 - 66 = 137 = 23 = 524 Aritmética Octal Exercício (base 16) • 1A + C • 10A + FD • 69+18 = 26 = 207 = 81 Aritimética Hexadecimal Subtração Hexadecimal • Semelhante a qualquer número • Subtração: – quando não é possível a operação, retira-se 1 unidade da ordem a esquerda e passa-se a ordem à direita como 16 (visto que 1 unidade da ordem à esquerda vale uma base de unidades) somando-se ao valor que existe na posição • Ex: 22C - FF 12D Exercício (base 16) • 2B1 - 128 • 12A - 9B • 923 - 1AD = 189 = 8F = 776 Aritimética Hexadecimal Multiplicação Binária • Semelhante aos números decimais • soma sucessiva de um número quantas vezes for o valor do outro • operação de multiplicação normal: 0 X 0 = 0 0 X 1 = 0 1 X 1 = 1 • Ex: 1011 x 101 1011 0000 1011__ 110111 Divisão Binária • Semelhante aos números decimais • operação de multiplicação normal: 0 / 1 = 0 1 / 1 = 1 • Ex: 10010 11 - 11 110 011 00 Exercício • 1010 X 11 • 111 X 111 • 11011 / 11 • 10100 / 101 11110 110001 1001 100 Frase do dia Existem 10 tipos de pessoas que conhecem informática: – As que entendem e as que não entendem. Dúvidas??