prof. leandro tonietto introdução a computação e suas...

24
Sistemas num Sistemas num é é ricos ricos Prof. Leandro Tonietto Introdução a computação e suas aplicações Curso de Segurança da Informação UNISINOS ago-09

Upload: vuongthien

Post on 15-Dec-2018

216 views

Category:

Documents


0 download

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

27-ago-09 Leandro Tonietto 24

Exercícios

Converter base: binário para decimal:� 110001111001� 111110� 1110111� 101010101� 1111000011110000� 11011011011011� 10001000� 11111111