prof. leandro tonietto introdução a computação e suas...
TRANSCRIPT
Sistemas numSistemas numééricosricos
Prof. Leandro ToniettoIntrodução a computação e suas aplicações
Curso de Segurança da InformaçãoUNISINOSago-09
27-ago-09 Leandro Tonietto 2
Introdução
Tempos remotos...� A necessidade de contar!!
• Animais, alimentos e etc.
� Estima-se que os primeiros sistemas de numeração faziam como base 10 (decimal) e 20 (vigesimal)• Em função do número de dedos
Curiosidade: � 80 em francês é escrito quatre-vingt (4x20), remanescente de um sistema vigesimal.
27-ago-09 Leandro Tonietto 3
Introdução
Tempos modernos...� linguagens humanas usam letras para combinarem palavras e
estruturas maiores, computadores não têm esta capacidade.� Computadores usam sistema binário para representação de
informações. Uma combinação de cargas elétricas (positivas/negativas) gera um código que representa uma informação: um número ou um caractere.
Computadores só "pensam" com informações de dois dígitos (binárias): 0 e 1.Conceito:� BIT: binary digit (0 ou 1)� BYTE: grupo de 8 bits (binary term)
27-ago-09 Leandro Tonietto 4
Sistemas numéricos
A escrita como ferramenta de comunicaçãoSurgimento na Grécia e aperfeiçoamento na Roma (atual)Primeiros registros de "quantidades" sob forma escrita são atribuídos ao sistema de numeração indo-arábico (atual éderivado deste).
27-ago-09 Leandro Tonietto 5
Sistemas numéricos
Conceito:� Sistema de numeração [1]:
"Um sistema de numeração é formado por um conjunto de símbolos utilizados para representação de quantidades (alfabeto) e as regras que definem a forma de representação."
Por exemplo, no sistema decimal a base de contagem é 10, pois o alfabeto possui 10 símbolos: 0,1,2,3,4,5,6,7,8 e 9. A combinação destes números, seguindo uma regra, pode representar qualquer quantidade numérica.
27-ago-09 Leandro Tonietto 6
Tipos de sistemas numéricos
Não posicionais� São aqueles em que o valor atribuído a um símbolo não se altera, independentemente da posição em que ele se encontre no conjunto de símbolos que estárepresentando um número.
� Sistema de numeração romano:• Símbolos: I, V, X, L, C, D e M• Não importa a posição: (I�1, V�5, X�10, L�50, C�100 e M�1000).
• Cada símbolo colocado à direita de um maior é adicionado a este. Ex.: XI � 10 + 1 = 11
• Cada símbolo colocado à esquerda de um maior tem o seu valor subtraído deste. Ex.: IX � 10 – 1 = 9
27-ago-09 Leandro Tonietto 7
Tipos de sistemas numéricos
Posicionais� São aqueles em que o valor atribuído a um símbolo depende da posição em que ele se encontra no conjunto de símbolos que está representando um número.
� Exemplo do sistema decimal:• O símbolo 1 pode representar o número um (1), o número 10 (na combinação 15), o número 100 (na combinação com 123). Portanto, dependendo da posição, o símbolo assume outro valor (ou quantidade)
• Quando mais a esquerda um símbolo está mais ele vale, a cada posição a esquerda ele vale 10x mais: 1, 10, 100, 1000, ...
27-ago-09 Leandro Tonietto 8
Representação numérica
Representação de quantidade no computador segue os sistemas de numeração tradicionais: binário, decimal, octal e hexadecimal.Todos posicionais.Representação de valores em sistemas numéricos segue a mesma regra apresentada para o sistema decimal. A cada incremento de posição àesquerda, o símbolo vale X vezes mais que o valor da posição anterior. Onde X é o número da base. Então, a cada posição a mais à direita, o símbolo vale X menos que o anterior.Exemplo de representação na base decimal. Número 245:245 = 200 + 40 + 5 = 2*100 + 4*10 + 5*1
0,05402000Valor
posição
005420Dígitos
0,010,11101001000Valor da
casa
Como ficaria a representaComo ficaria a representaçção numão numéérica do 8763,25 ?rica do 8763,25 ?
27-ago-09 Leandro Tonietto 9
Sistema binário
Sistema usado pelo computadorBase para a Álgebra booleana (de George Boole - matemático inglês), � operações lógicas e aritméticas usando-se apenas dois dígitos ou dois estados (sim e não, falso e
verdadeiro,...). “Toda eletrônica digital e computação está baseada nesse sistema binário e na lógica de Boole, que permite representar por circuitos eletrônicos digitais (portas lógicas) os números, caracteres, realizar operações lógicas e aritméticas. Os programas de computadores são codificados sob forma binária e armazenados nas mídias (memórias, discos, etc) sob esse formato” [3].Símbolos: 0 e 1 (ligado/desligado)Representação:... 26 + 25 + 24 + 23 + 22 + 21 + 20 + 2-1 + ...... b6 + b5 + b4 + b3 + b2 + b1 + b0 + b-1 + ... b é 0 ou 1.... b4 b3 b2 b1 b0, b-1 b-2 …
Exemplo:� O número binário 10011,01 representa a quantidade:� 1*24 + 0*23 + 0*22 + 1*21 + 1*20 + 0*2-1 + 1*2-2
� 19,25
De acordo com a quantidade de dígitos sabe-se a quantidade de números que podem ser representados (variações possíveis)� 2 bits = 4 valores = 2*2 = 22
� 3 bits = 8 valores = 2*2*2 = 23
27-ago-09 Leandro Tonietto 10
Sistema Hexadecimal
Sistema binário é bom pro computador, para o programador não. Representação fica muito grande e a conversão se torna difícil de ser feita mentalmente.A cada 4 bits um símbolo. � Por exemplo: 1111 = 15 (decimal) = F(hexa)Símbolos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E e F� É possível representar 16 símbolos: de 0 à 15.Representação:... 166 + 165 + 164 + 163 + 162 + 161 + 160 + 16-1 + ...Exemplo:� O número hexadecimal A17,B9 representa a quantidade:� 10*162 + 1*161 + 7*160 + 11*16-1 + 9*2-2
� Como ficaria o número em binário?
15F
14E
13D
12C
11B
10A
99
88
77
66
55
44
33
22
11
00
b16 b10
101000010111,10111001101000010111,10111001
27-ago-09 Leandro Tonietto 11
Equivalência entre sistemas numéricos
1111
1110
1101
1100
1011
1010
1001
1000
111
110
101
100
11
10
1
0
b2
17
16
15
14
13
12
11
10
7
6
5
4
3
2
1
0
b8b10b16
15F
14E
13D
12C
11B
10A
99
88
77
66
55
44
33
22
11
00
27-ago-09 Leandro Tonietto 12
Conversão de base
Sistema binárioSistema decimalSistema hexadecimal
Entrada e saída de dados
Processamento e armazenamento
27-ago-09 Leandro Tonietto 13
Binário para decimal
Usar a idéia exposta na explicação do sistema binárioExemplo: (11001)2
1*24 + 1*23 + 0*22 + 0*21 + 1*20
16 + 8 + 0 + 0 + 1
(25)10
27-ago-09 Leandro Tonietto 14
Decimal para binário
Mediante divisões inteiras sucessivas por dois, tomando-se os restos das divisões no sentido ascendente. Exemplo:
(197)10 = (11000101)2
27-ago-09 Leandro Tonietto 15
Binário para hexadecimal
Separar os bits em grupos de 4 bits, substituindo pelos símbolos hexadecimais.Exemplo:� (11110001)2 ���� 1111|0001 ���� F | 1 ���� (F1)16
� (10010011)2 ���� 1001|0011 ���� 9 | 3 ���� (93)16
� (101011)2 � ? | ? ���� ? | ? ���� ?
27-ago-09 Leandro Tonietto 16
Hexadecimal para binário
Processo inverso.Exemplo:� (A56B)16 ����
1010|0101|0110|1011 ����
(1010010101101011)2
27-ago-09 Leandro Tonietto 17
Hexadecimal para decimal
Mesmo processo que conversão que de binário para decimal, porém com base 16.Exemplo:� (A6B)16 ����
A*162 + 6*161 + B*160 ����
10*162 + 6*161 + 11*160 ����
2560 + 96 + 11 ����
(2667)10
27-ago-09 Leandro Tonietto 18
Decimal para Hexadecimal
Mesmo processo que conversão que de decimal para binário, porém com divisor 16.Exemplo:
Pegar os nPegar os núúmero de mero de forma ascendente e forma ascendente e converter para o converter para o ssíímbolo hexadecimal mbolo hexadecimal equivalenteequivalente
(2736)(2736)1010 = (AB0)= (AB0)1616
27-ago-09 Leandro Tonietto 19
Exercícios
Converter base: decimal para binária:� 12278,25� 512� 1,3555� 3578,1� 45454,45454
27-ago-09 Leandro Tonietto 20
Exercícios
Converter base: decimal para hexadecimal:� 12278� 512� 1024� 255� 45454
27-ago-09 Leandro Tonietto 21
Exercícios
Converter base: hexadecimal para decimal:� ABA1� AB16� DC� DDE� 45� 15� 123
27-ago-09 Leandro Tonietto 22
Exercícios
Converter base: hexadecimal para binário:� AB1� A1E� DC� DDE� 45� 15� 183
27-ago-09 Leandro Tonietto 23
Exercícios
Converter base: binário para hexadecimal:� 110001111001� 111110� 1001010� 101010100� 1111000011110000� 11011011011011� 111