2. O que pretendemos:
● 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 à
computação
● Refletir sobre a relação entre os sistemas
de numeração estudados e o processamento
computacional
3. A origem dos números
Na pré- história, será
que os homens já
contavam?
4. A origem dos números
● 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
5. A origem 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
6. A origem dos números
Olhando ao redor, podemos observar como é
grande a presença dos números...
7. A origem dos números
● 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
8. A origem dos números
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.
9. A origem dos números
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.
10. A origem dos números
● 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
11. 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
"Distinguimos, sem erro e numa rápida vista um, dois, três e mesmo
quatro elementos. Mas aí para nosso poder de identificação dos números."
História Universal dos Algarismos, Georges Ifrah.
12. Senso numérico
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
Existe um exemplo célebre sobre um corvo que
tinha capacidade de reconhecer quantidade...
13. Um corvo que sabia contar...
Um fazendeiro estava disposto a matar um corvo
que fez seu ninho na torre de observação de sua
mansão.
Por diversas vezes, tentou surpreender o pássaro,
mas em vão: à aproximação do homem, o corvo saía
do ninho.
De uma árvore distante, ele esperava atentamente
até que o homem saísse da torre e só então
voltava ao ninho.
14. Um corvo que sabia contar...
Um dia, o fazendeiro tentou uma nova tática: 2
homens entraram na torre, um ficou dentro e o
outro saiu e se afastou. Mas o pássaro não foi
enganado: manteve-se afastado até que o outro
homem saísse da torre. A experiência foi repetida
nos dias subsequentes com 3 e 4 homens, ainda
sem sucesso.
Finalmente, foram utilizados 5 homens como antes,
todos entraram na torre e um permaneceu lá
dentro enquanto os outros 4 saíam e se afastavam.
Desta vez, o corvo perdeu a conta. Incapaz de
distinguir entre 4 e 5, voltou imediatamente ao
ninho e foi surpreendido.
15. Á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
Saiba um pouco mais: http://pt.wikipedia.org/wiki/%C3%81baco
16. Ábaco
● 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
17. Representação numérica
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
18. Sistemas de numeração
● 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
19. 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
20. Sistema de numeração não-
posicional
● Sistema romano
– é 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
21. Sistemas de numeração
posicional
● Nos sistemas de numeração posicional, o valor
posicional
do dígito em um número depende da posição que
ele ocupa neste mesmo número
– 1989 = 1000 + 900 + 80 + 9
– 1989 = 1*103 + 9*102 + 8*101 + 9*100
● 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
– 1989,4 = 1*103 + 9*102 + 8*101 + 9*100 + 4*10-1
22. Sistemas de numeração
posicional
● A representação posicional fornece uma forma
simplificada para a escrita de números e permite
a representação de qualquer número com um
alfabeto (uma coleção de símbolos) restrito de
dígitos
23. Sistema de numeração egípcio
● Um dos sistemas de numeração mais antigos que
se tem notícia é o egípcio. É um sistema de
numeração de base dez e era composto pelos
seguintes símbolos numéricos:
29. Sistema de numeração indo-
arábico
● Nosso sistema de numeração (decimal) surgiu
decimal
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
Saiba mais: http://pessoal.sercomtel.com.br/matematica/fundam/numeros/numeros.htm
31. Sistemas de numeração
computacional
O sistema de numeração com o qual estamos mais
familiarizados é o decimal, cujo alfabeto (coleção de
símbolos) é formado por 10 dígitos acima mostrados.
Um Computador Decimal: se trabalhasse com o sistema
decimal um computador precisaria codificar 10 níveis de
referência para caracterizar os 10 dígitos do sistema
utilizado. Esses níveis de referência poderiam ser
valores de tensão (0V, 1V, 2V etc.) que precisariam ser
definidos e interpretados de maneira clara e precisa
pela máquina.
Desvantagem: quanto maior o número de interpretações
maior a probabilidade de erro. Para decidir que está
lendo o número 5 a máquina precisaria ter certeza de que
o que leu não é: 0, 1, 2, 3, 4, 6, 7, 8, 9.
32. Sistemas de numeração
computacional
Consequência: O sistema de numeração mais seguro
deveria ser aquele com o menor número de símbolos
(dígitos).
Conclusão: o melhor sistema de numeração para uma
máquina seria o binário com apenas dois dígitos, o
zero (0) e o um (1).
Obs.: Não há sistema de numeração com alfabeto de um
único dígito. Todo sistema de numeração precisa dos
conceitos de presença (1) e ausência (0), ao menos.
33. Sistemas de numeração
computacional
Um possível problema no uso de máquinas binárias: o
número binário precisa de mais dígitos para ser escrito
que o decimal.
→ Quatro em decimal é representado como 4.
→ Sua representação em binário é 100.
Consequência: o computador binário seria mais
preciso, porém muito lento porque a leitura da
informação iria requerer mais tempo.
34. Sistemas de numeração
computacional
Uma solução: o uso de dispositivos eletrônicos
baseados na tecnologia dos semicondutores, como
os transistores.
O transistor: é um dispositivo usado para controlar
o fluxo de corrente. Ele tem duas características
importantes:
1- é capaz de amplificar um sinal elétrico.
2- é capaz de chavear (comutar) entre ligado e
desligado (ou fechado e aberto), deixando corrente
passar através dele ou bloqueando-a.
35. Sistemas de numeração
computacional
O transistor pode mudar da condição de saturação
para o corte em velocidades acima de um milionésimo
de segundo. Ele pode ser usado para caracterizar a
presença (ou ausência) de um dígito binário (0 ou
1) e pode tomar decisões desse tipo a uma taxa
superior a um milhão de decisões por segundo.
O primeiro Transistor Um Transistor moderno
36. Sistemas de numeração
computacional
Fatos importantes:
- Máquinas do século XIX utilizavam base 10
- O matemático inglês George Boole (1815-1864)
publicou em 1854 os princípios da lógica booleana,
onde variáveis assumem valores de 0 (falso) ou 1
(verdadeiro)
- Alan Turing utilizou a lógica booleana para
conceber a Máquina de Turing, que deu origem à
computação digital
- A lógica booleana foi usada na implementação dos
circuitos elétricos internos do computador digital.
37. 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 rosas 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
38. Bases de sistemas de
numeração
● 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)
39. 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
→ {0, 1, 2, 3, 4, 5, 6, 7}
● Sistema Hexadecimal → Base 16
→ {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}
41. 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
– 16
– 8
44. Conversão de base
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
– (1101)2=1*23 + 1*22+ 0*21 + 1*20 = 8+4+0+1=>13
– (2B0)16=2*162 + (11)*161+ 0*160= 512+176+0=>688
45. Conversão de base
Passagem de uma Base 2 para base 10
● Basta multiplicar cada dígito pela potência e
10 correspondente a sua posição
46. Conversão de base
Passagem de uma Base 16 para base 10
● Basta multiplicar cada dígito pela potência ed
16 correspondente a sua posição
47. Conversão de base
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
(341)10 = (2331)5
48. Conversão de base
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
49. Conversão de base
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
50. Conversão de base
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
51. Conversão de base
Passagem de uma Base 10 para a base R
● Ex: 34110 = 23315
52. Conversão de base
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,1500
– 0,5000*2 = 1,0000
resultado → 0,01112
53. Conversão de base
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 2n
– Se essa base for 8, por exemplo, o valor
de “n” é 3 porque 8 = 23
● 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.
55. Operações aritméticas em base
binária
Veremos agora como se efetua as operações
aritméticas de soma, subtração, multiplicação
e divisão de binários, além de conceitos como
complemento a 1 e a 2 e a sinalização dos
números binários.
Essas funções lógicas aritméticas
constituem a Unidade Lógica e Aritmética
(ULA) que é um bloco funcional fundamental
em um processador.
56. Operações aritméticas em base
binária
Para efetuarmos a adição no sistema binário,
devemos agir como numa adição convencional no
sistema decimal, lembrando que, no sistema
binário temos apenas dois algarismos. Assim:
✔ 0 + 0 = 0, (vai 0)
✔ 1 + 0 = 1, (vai 0)
✔ 0 + 1 = 1, (vai 0)
✔ 1 + 1 = 0, e transporta 1 (vai 1)
57. Operações aritméticas em base
binária
Observe, então, que enquanto no sistema decimal
1 + 1 = 210, no sistema binário seria 102.
Exemplo 1: Exemplo 2:
58. Operações aritméticas em base
binária
A subtração requer um pouco de atenção.
Quando subtraímos números às vezes temos que
fazer um empréstimo da próxima coluna à
esquerda. Esse caso ocorre quando temos que
subtrair 1 de 0. Observe as operações:
✔ 0 – 0 = 0, empresta 0
✔ 1 – 1 = 0, empresta 0
✔ 1 – 0 = 1, empresta 0
✔ 0 – 1 = 1, empresta 1 da próxima coluna
59. Operações aritméticas em base
binária
Vejamos como se realiza a operação de subtração
com binário:
Exemplo 1: Exemplo 2:
60. Operações aritméticas em base
binária
●
As regras da multiplicação de binários são
iguais às regras da multiplicação de decimais.
✔ 0 x 0 = 0
✔ 0 x 1 = 0
✔ 1 x 0 = 0
✔ 1 x 1 = 1
61. Operações aritméticas em base
binária
Vejamos como se realiza a operação de multiplicação
com binário. Note que numa multiplicação por um
número com dois ou mais algarismos, é necessário
fazer a soma do resultado gerado para obter o
resultado final da multiplicação.
Exemplo 1: Exemplo 2:
62. Operações aritméticas em base
binária
●
A divisão é análoga a uma divisão de
decimais, trabalhando com multiplicação e
subtração na lógica binária.
✔ No dividendo, separa-se uma quantidade de
algarismos (mais significativos) para
iniciar a divisão pelo divisor;
✔ Multiplica-se o divisor por 1 ou 0,
conforme cada caso;
✔ Subtrai-se o resultado do dividendo,
encontrando o resto
63. Operações aritméticas em base
binária
Vejamos como se realiza a operação de divisão com
binário.
Exemplo:
64. Operações aritméticas em base
binária
Representação de números negativos:
● Complemento de 1: O complemento de 1 de um
número binário é obtido trocando-se cada dígito
1 por 0 e vice-versa. A notação C1 (...) é
usada para designar o complemento de um do
número entre parêntesis.
● Complemento de 2: O complemento de 2 de um
número binário é obtido trocando-se
inicialmente todos os 0s por 1s e vice-versa.
Após isso adiciona-se 1 ao número obtido.
Notação C2(...)
65. Operações aritméticas em base
binária
Overflow
● Em computação, há limitações no tamanho de
registradores para representar números e a
aritmética binária obedece tais limitações.
● Os números são finitos e devem ser representados no
intervalo entre 0 e 2r-1, onde r é o número de bits
dos registradores.
● Nas operações aritméticas, devemos considerar a
possibilidade de obter resultados que extrapolam os
limites de representação dos números num dado
registrador, ou seja, fora dos limites de +/- (2 r-1)
● Quando isto ocorre dizemos que temos uma condição
de aritmética de overflow
66. 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?
67. Referências
● BROOKSHEAR, J. Ciência da computação: uma visão
abrangente. 3. ed. Rio de Janeiro: Bookman, 2005.
● FEDELI, R.; POLLONI, E.; PERES, F. Introdução à
Ciência da Computação. 2. ed. São Paulo: Pioneira
Thompson Learning, 2003.
69. Vídeos sugeridos
Conversão de base
Binário para Decimal
– www.youtube.com/watch?v=0XsHNwNXpt0
Binário para Hexadecimal // Binário para Octal
– www.youtube.com/watch?v=vjSKQPTkJ_o
Decimal para Octal
– www.youtube.com/watch?v=pl1vdcMrBTg
Decimal para Binário // Binário para Decimal
– www.youtube.com/watch?v=1sRdkyAzdy4
Octal para Decimal // Hexadecimal para Decimal
– www.youtube.com/watch?v=9qSNPCMS3r4
70. Vídeos sugeridos
Operações aritméticas
Adição e subtração em binário
– www.youtube.com/watch?v=MeragDzjp5M
– www.youtube.com/watch?v=5GOL-qg3420
Multiplicação e divisão em binário
– www.youtube.com/watch?v=WOFKKTUWFd0
– www.youtube.com/watch?v=lJPtZnaZZ-k
– www.youtube.com/watch?v=8VMk7GYzYa0
– www.youtube.com/watch?v=YBhBJSyaGTk (em espanhol)