Sistemas de numeração Prof. Douglas M. dos Santos douglas.santos@ifpr.edu.br Arquitetura e Suporte de computadores IFPR Campus Umuarama
Proposta Contar um pouco sobre a origem dos números e dos sistemas de numeração Apresentar alguns sistemas de numeração utilizados no passado e atualmente Mostrar as possibilidades de conversão entre os sistemas de numeração vinculados a computação Refletir sobre a relação entre os sistemas de numeração estudados e o processamento computacional
A origem dos números Na pré-história, será que os homens já contavam?
Para descobrir sobre a origem dos números, precisamos conhecer um pouco da história humana, que pode ser feito através de: estudo das ruínas de antigas civilizações estudo de fósseis estudo da linguagem escrita avaliação do comportamento de diversos - grupos étnicos desde o princípio dos tempos
Olhando ao redor, podemos observar como é grande a presença dos números... A necessidade de contar começou com o desenvolvimento das atividades humanas, voltadas para sua civilização, quando o homem foi deixando de ser pescador e coletor de alimentos para fixar-se no solo.
O homem começou a produzir alimentos, construir casas e domesticar animais, aproveitando-se dos mesmos, através do uso da lã e do leite, tornando-se criador e desenvolvendo o pastoreio... tudo isso trouxe profundas modificações na vida humana As primeiras formas de agricultura de que se tem notícia, desenvolveram-se há cerca de 10 mil anos na região que hoje fica o Oriente Médio A agricultura passou a exigir o conhecimento do tempo, das estações do ano e das fases da Lua, e assim começaram a surgir as primeiras formas de calendário
No pastoreio, o pastor usava várias formas para controlar o seu rebanho. Pela manhã, ele soltava os seus carneiros e analisava ao final da tarde se algum tinha sido roubado, fugido, se perdido do rebanho ou se havia sido acrescentado um novo carneiro ao rebanho. Assim, eles tinham a correspondência um a um, onde cada carneiro correspondia a uma pedrinha que era armazenada em um saco.
No caso das pedrinhas, cada animal que saía para o pasto de manhã correspondia a uma pedra que era guardada em um saco de couro. No final do dia, quando os animais voltavam do pasto, era feita a correspondência inversa, onde, para cada animal que retornava, era retirada uma pedra do saco. Se no final do dia sobrasse alguma pedra, é porque faltava algum dos animais, e se algum fosse acrescentado ao rebanho, era só acrescentar mais uma pedra.
A palavra que usamos hoje, cálculo, é derivada da palavra latina calculus, que significa pedrinha A correspondência unidade a unidade não era feita somente com pedras, mas eram usados também nós em cordas, marcas nas paredes, talhes em ossos, desenhos nas cavernas e outros tipos de marcação Com o passar do tempo, as quantidades foram representadas por expressões, gestos, palavras e símbolos, sendo que cada povo tinha a sua maneira de representação A faculdade humana natural de reconhecimento imediato de quantidades se resume a, no máximo, quatro elementos O senso numérico não pode ser confundido com contagem, que é um atributo exclusivamente humano que necessita de um processo mental
Numeração egípcia
Numeração Maia
Senso numérico Este senso numérico que é a faculdade que permite reconhecer que alguma coisa mudou em uma pequena coleção quando, sem seu conhecimento direto, um objeto foi tirado ou adicionado, à coleção O senso numérico não pode ser confundido com contagem, que é um atributo exclusivamente humano que necessita de um processo mental Temos também alguns animais, ditos irracionais, como os rouxinóis e os corvos, que possuem este senso numérico onde reconhecem quantidades concretas que vão de um até três ou quatro unidades
Sistema de numeração egípcio Um dos sistemas de numeração mais antigos que se tem noticia e o egípcio. É um sistema de numeração de base dez e era composto pelos seguintes símbolos numéricos:
Algumas das primeiras formas de contagem foram utilizadas com as partes do corpo humano, sendo que em algumas aldeias os indivíduos chegavam a contar até o número 33.
Sistema de numeração babilônico Outro sistema de numeração muito importante foi o da Babilônia, criado há, aproximadamente, 4 mil anos.
Sistema de numeração indo arábico Nosso sistema de numeração surgiu na Ásia, há muitos séculos no Vale do rio Indo, onde hoje é o Paquistão O primeiro número inventado foi o 1 e ele significava o homem e sua unicidade; o segundo número 2, significava a mulher da família, a dualidade; e o número 3 significava muitos, multidão Evolução
Ábaco Antigo instrumento de cálculo, formado por uma moldura com bastões ou arames paralelos, dispostos no sentido vertical, correspondentes cada um a uma posição digital (unidades, dezenas,...) e nos quais estão os elementos de contagem que podem fazer-se deslizar livremente Teve origem provavelmente na Mesopotâmia, há mais de 5.500 anos, apesar dos chineses também serem apontados como seus inventores Emprega um processo de cálculo com sistema decimal, atribuindo a cada haste um múltiplo de dez No princípio, os sistemas de numeração não facilitavam os cálculos, logo, um dos instrumentos utilizados para facilitar os cálculos foi o ábaco muito usado por diversas civilizações orientais e ocidentais No Japão, o ábaco é chamado de soroban e na China de suánpan, que significa bandeja de calcular
Como existem infinitas quantidades, não é possível criar um símbolo para cada uma. Assim, para resolver este problema, foram desenvolvidos os sistemas de numeração Portanto, um sistema de numeração é um conjunto finito de símbolos somado a uma lei de formação que permite representar qualquer quantidade Podem ser classificados em: Sistemas de Numeração Posicionais Sistemas de Numeração Não Posicionais
Sistema de numeração não posicional Neles, cada símbolo, independente da posição, representa um único valor, como é o caso do sistema romano É composto de um conjunto de sete símbolos {I,V,L,C,D,M} capazes de representar uma grande variedade de números, com base numa lei de formação, porém não é possível representar qualquer quantidade como o zero por exemplo
É dito não-posicional...por exemplo, IV e VI representam 4 e 6 respectivamente, contudo I e V representam 1 e 5 em ambos os numerais No número XX, vinte em decimal, o valor do dígito X à esquerda é o mesmo daquele à direita. Neste caso, a representação é aditiva, com X representando a quantidade decimal 10, e com a combinação XX associada a 10+10=20. Por outro lado, em IX (nove em decimal) a representação é subtrativa
Sistemas de numeração posicional Nos sistemas de numeração posicional, o valor do dígito em um número depende da posição que ele ocupa neste mesmo número Há um peso para cada posição ocupada pelo dígito Os pesos crescem para esquerda na parte inteira e decrescem para a direita na parte fracionária
A representação posicional fornece uma forma simplificada para a escrita de números e permite a representação de qualquer numero com um alfabeto (uma coleção de símbolos) restrito de dígitos
Bases de sistemas de numeração A base de um sistema é a quantidade de algarismos disponível na representação A base 10 é hoje a mais usualmente empregada, embora não seja a única utilizada No comércio, pedimos uma dúzia de roscas ou uma grosa de parafusos (base 12) e também marcamos o tempo em minutos e segundos (base 60) Os computadores utilizam a base 2 (sistema binário) e os programadores, por facilidade, usam em geral uma base que seja uma potência de 2, tal como a base 16 ou sistema hexadecimal ou eventualmente ainda a base 8 ou sistema octal
Na base 10, dispomos de 10 algarismos para a representação do número: 0, 1, 2, 3, 4, 5, 6, 7, 8 e 9 Na base 2, seriam apenas 2 algarismos: 0 e 1 Na base 16, seriam 16: os 10 algarismos aos quais estamos acostumados, mais os símbolos A, B, C, D, E e F, representando respectivamente 10, 11, 12, 13, 14 e 15 unidades Generalizando, temos que uma base b qualquer disporá de b algarismos, variando entre 0 e (b-1)
Bases de sistemas de numeração posicional Sistema Decimal Base 10 alfabeto {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} Sistema Binário Base 2 alfabeto {0, 1} Sistema Octal Base 8 alfabeto {0, 1, 2, 3, 4, 5, 6, 7} Sistema Hexadecimal Base 16 alfabeto {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}
Conversão de base Passagem de uma Base R para a base Z Consiste em decompor o número de acordo com a estrutura posicional, usando operações de produtos, divisão e somas Para facilitar o cálculo das operações de conversão de base, vale a pena relembrar as potências das bases numéricas mais utilizadas na teoria da computação 2 10 8 16
Passagem de uma Base R para a base 10 Converte-se a base e cada dígito do número para o equivalente decimal Decompõe-se o número de acordo com a estrutura posicional e, usando aritmética decimal, efetua-se as operações de produtos e somas Notação: (...)R ler como o número do parêntesis expresso na base R
Passagem de uma Base 2 para Base 10 Basta multiplicar cada digito pela potencia e 10 correspondente a sua posição
Passagem de uma Base 16 para Base 10 Basta multiplicar cada digito pela potência e 16 correspondente a sua posição
Passagem de uma Base 10 para a Base R Parte inteira: algoritmo da divisão repetida Divide-se o inteiro decimal repetidamente pela base R até que se obtenha um quociente inteiro igual a zero Os restos das divisões sucessivas, lidos do último para o primeiro, constituem o número transformado para a base R
Passagem de uma Base 10 para Base 2 Basta dividir o número repetidas vezes por 2, até que não seja mais possível efetuar a divisão para obter número maior ou igual a 1
Observações Quando convertemos um número de BASE 10 para BASE 2 (binário), devemos sempre manter o formato de 4 dígitos (Ex: 0011) Porque o 1 binário que decimal é o resultado de 2 4 Quando convertemos um número de BASE 8 para Base 2 (binário), devemos sempre manter o formato de 3 dígitos (Ex: 111) Porque o 1 binário que octal é o resultado de 2 3 Cada dígito (algarismo) binário é chamado de BIT (Binary Digit). Um BIT é a menor unidade de informação de um circuito digital.
Passagem de uma Base 10 para Base 8
Conversão de Base 8 para Base 2
Passagem de uma Base 10 para Base 16 Basta dividir o número repetidas vezes por 16, até que não seja mais possível efetuar a divisão para obter número maior ou igual a 1
Passagem de uma Base 10 para a Base R Parte fracionária: Algoritmo da multiplicação repetida A parte fracionária é multiplicada por R. A parte inteira desse produto é guardada e a parte fracionária é novamente multiplicada por R. O processo é repetido até que se obtenha um número com parte fracionária nula ou até que se considere a aproximação suficiente. As partes inteiras dos produtos sucessivos, lidas da primeira para a última, formam a parte fracionária do número transformado
Passagem de uma Base R para a base 10 Parte fracionária: Algoritmo da multiplicação repetida Exemplo: transformar 0,4375 para a Base 2 0,4375*2 = 0,8750 0,8750*2 = 1,7500 0,7500*2 = 1,5000 0,5000*2 = 1,0000 Resultado -> 0,0111 2
Passagem de uma Base 2 para base de potência 2 (8 ou 16 p.ex.) A base para a qual se quer a transformação é expressa no formato 2 n Se essa base for 8, por exemplo, o valor de n é 3 porque 8 = 2 3 Formam-se grupos, a partir da direita do número binário, contendo uma quantidade de dígitos igual ao número n. Esses grupos de n dígitos são lidos e representados como os dígitos do sistema para o qual se quer a transformação.
Para refletir... Por que o sistema de numeração hexadecimal é também largamente utilizado na computação, se os computadores só conseguem compreender 0 e 1?
Exercícios Faça a passagem das bases abaixo solicitadas A)101011 (2) =? (10) B)11111 (2) =? (10) C)101 (10) =? (2) D)56 (10) =? (2)
E) 295 10 =? (8) F) 596 10 =? (8) G) 135 8 =? (10) H) 278 8 =? (10) I) 1101110 2 =? (8)