A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

TC – DEI, 2005/2006 » WHAT WOULD LIFE BE WITHOUT ARITHMETIC, BUT A SCENE OF HORRORS? « Sydney Smith, 1835.

Apresentações semelhantes


Apresentação em tema: "TC – DEI, 2005/2006 » WHAT WOULD LIFE BE WITHOUT ARITHMETIC, BUT A SCENE OF HORRORS? « Sydney Smith, 1835."— Transcrição da apresentação:

1 TC – DEI, 2005/2006 » WHAT WOULD LIFE BE WITHOUT ARITHMETIC, BUT A SCENE OF HORRORS? « Sydney Smith, 1835

2 Sistemas de Numeração Paulo Marques Tecnologia dos Computadores 2005/2006

3 TC – DEI, 2005/2006 Sistemas de Numeração Os valores existem no mundo, independentemente da sua representação 26 XXVI São representações igualmente válidas

4 TC – DEI, 2005/2006 Sistemas Posicionais O sistema posicional é utilizado devido à facilidade com a qual é possível fazer calculos Tente encontrar um algoritmo para multiplicar, em numeração romana, XVIII por XIXIII! = 1x x x x10 0

5 TC – DEI, 2005/2006 Sistemas Posicionais (2) Sistema de numeração de base 10: Existem 10 algarismos diferentes (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) O valor de cada posição i é dado pelo valor nessa posição vezes um factor de escala base i Para calcular o valor de um número representado numa base radix: (A n-1 A n-2 A n-3... A 0 ) radix Faz-se: A n-1 radix n-1 + A n-2 radix n-2 + A n-3 radix n A 0 radix 0

6 TC – DEI, 2005/2006 Nos sistemas informáticos Internamente, tudo é feito em base 2, i.e. BINÁRIO Existem dois símbolos: 0 e 1 (ligado/desligado, verdadeiro/falso) Cada símbolo é um bit (binary digit) No entanto, em termos de representações, tipicamente utiliza-se: Binário (base 2) Hexadecimal (base 16) 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F... e algumas vezes Octal (base 8)

7 TC – DEI, 2005/2006 » quatre-vingt, quatre-vingt-dix, quatre-vingt-dix-neuf « 80, 90, 99 em Françês

8 TC – DEI, 2005/2006 Contar em binário 0000 => (0) => (1) => (2) => (3) => (4) => (5) => (6) => (7) => (8) => (9) => (10) => (11) => (12) => (13) => (14) => (15) 10

9 TC – DEI, 2005/2006 Contar em hexadecimal 00 => (0) => (1) => (2) => (3) => (4) => (5) => (6) => (7) => (8) => (9) 10 0A => (10) 10 0B => (11) 10 0C => (12) 10 0D => (13) 10 0E => (14) 10 0F => (15) => (16) => (17) 10

10 TC – DEI, 2005/2006 Quiz: Conversão para decimal Converta para decimal os seguintes números: Pista: lembre-se do que é que sistema posicional e base querem dizer... ( ) 2 (C1B3) 16

11 TC – DEI, 2005/2006 Nota Virtualmente todos os informáticos sabem as potências de dois de cabeça

12 TC – DEI, 2005/2006 Resposta ao Quiz ( ) 2 = = 106 (na base 10) (C1B3) 16 = = (na base 10)

13 TC – DEI, 2005/2006 Conversão de decimal para outras bases Divide-se sucessivamente o número pela base O resto da divisão vai constituindo os sucessivos digitos do número Exemplo: Converter 402 em binário 402 ÷ 2 = 201 e resto ÷ 2 = 100 e resto ÷ 2 = 50 e resto 0 50 ÷ 2 = 25 e resto 0 25 ÷ 2 = 12 e resto 1 12 ÷ 2 = 6 e resto 0 6 ÷ 2 = 3 e resto 0 3 ÷ 2 = 1 e resto 1 1 ÷ 2 = 0 e resto 1 (402) 10 = ( ) 2

14 TC – DEI, 2005/2006 Conversão decimal-hexadecimal Exactamente o mesmo processo! Converter 402 em hexadecimal Converter 673 em hexadecimal 402 ÷ 16 = 25 e resto 2 25 ÷ 16 = 1 e resto 9 1 ÷ 16 = 0 e resto 1 (402) 10 = (192) ÷ 16 = 42 e resto 1 42 ÷ 16 = 2 e resto 10 (A) 2 ÷ 16 = 0 e resto 2 (673) 10 = (2A1) 16

15 TC – DEI, 2005/2006 Conversão binário-hexadecimal e vice-versa Como 16 é 2 4, isso quer dizer que cada digito em hexadecimal corresponde a 4 dígitos em binário, directamente! Exemplo: ( ) D 9 2

16 TC – DEI, 2005/2006 Nota sobre o sistema hexadecimal Nos computadores (e livros), é comum utilizar as seguintes notações para representar números hexadecimais: 0xD92 ou 0xd92 D92h ou d92h

17 TC – DEI, 2005/2006 BCD: Binary-Coded-Decimal Nos sistemas electrónicos e muitas vezes nos informáticos, utiliza-se também o sistema BCD: Binary Coded Decimal Cada conjunto de quatro bits representa um valor decimal. Só são válidos os valores de 0000 a 1001 (i.e. 0 a 9) BCD Decimal

18 TC – DEI, 2005/2006 Armazenamento de dados Quantos bits são necessários para representar N números? Exemplo: quantos bits necessito para representar 100 objectos, ou para representar 100 números diferentes? (0..99) Sistema binário é um sistema posicional. Com K bits, tenho 2 K números diferentes Para representar N elementos diferentes, são necessários log 2 (N) bits. Para representar 100 objectos, são necessários 7 bits!

19 TC – DEI, 2005/2006 Grandezas de armazenamento de informação bit: binary digit, unidade básica de informação byte: 8 bits Kbyte: 2 10 byte, i.e bytes Mbyte: 2 10 Kbyte, i.e Kbytes Gbyte: 2 10 Mbyte, i.e Mbytes Tbyte: 2 10 Gbyte, i.e Gbytes Quiz: Se eu quiser armazenar números inteiros, cada número de 32 bits, quantos MByte preciso?

20 TC – DEI, 2005/2006 Grandeza para transmição de informação Largura-de-banda: 100Mbps 100Mbps = 100*1000*1000 bits/s = = 11.9 Mbyte/s Note-se que no caso de bps, K, M, G e T representam factores de 1000, não de 1024!

21 TC – DEI, 2005/2006 Palavras do computador Os registos do processador têm um certo tamanho em bits. Ao tamanho dos registos do processador chama- se word ou palavra. Quando se diz que o Pentium 4 é um processador de 32 bits, quer dizer que este manipula internamente dados de 32 bits. Tipicamente também quer dizer que é capaz de gerar endereços de 32 bits. Quiz 1: Sabendo que o Pentium 4 endereça a memória usando 32 bits, qual é a memória máxima que um PC comum pode ter? 4 Gbytes! (2 32 /1024/1024/1024) Quiz 2: Sabendo que os registos de dados do Pentium 4 são de 32 bits, qual é o número máximo (sem sinal), que se pode representar? ( )

22 TC – DEI, 2005/2006 Bit mais significativo e menos significativo MSB (Most Significant Bit) LSB (Least Significant Bit)

23 TC – DEI, 2005/2006 Máquinas big-endian & little-endian Imaginemos que um computador tem uma palavra de 16 bits. De que forma é que esta deverá ser armazenada em memória? MOV [1000], 0xff00 00 ff ?? Little-endian (e.g. PC) Big-endian (e.g. Sun-Sparc, Network-byte-order)

24 TC – DEI, 2005/2006 Porque é que o céu é azul?

25 TC – DEI, 2005/2006 » Numbers written on restaurant bills within the confines of restaurants do not follow the same mathematical laws as numbers written on any other pieces of paper in any other parts of the Universe « Douglas Adams, The Hitchhiker's Guide to the Galaxy

26 TC – DEI, 2005/2006 Leitura... The Ultimate Hitchhiker's Guide to the Galaxy by Douglas Adams ISBN , Del Rey Publisher The Hitchhikers Guide to the Galaxy The Restaurant at the End of the Universe Life, the Universe and Everything So Long, and Thanks for All the Fish Mostly Harmless

27 TC – DEI, 2005/2006 » Every passing minute is another chance to turn it all around. « Sofia, in Vanilla Sky

28 Representação de Números Negativos & Racionais Operações Aritméticas Paulo Marques Tecnologia dos Computadores 2004/2005

29 TC – DEI, 2005/2006 Números negativos: Sinal e Magnitude Quando se coloca um símbolo extra (+-) que representa o sinal de um número, chama-se a essa representação: Representação em sinal e magnitude (100) 10 = ( ) Bit Sinal Magnitude

30 TC – DEI, 2005/2006 Números Negativos: Sistema de Complementos Problemas do sistema de sinal e magnitude Para fazer cálculos, as regras são confusas e complicadas de implementar (e.g. se ambos os sinais são positivos, o sinal é o mesmo, se um é positivo e outro negativo, subtrai-se e o sinal é o do maior em valor absoluto, etc.) Existem duas representações para 0 Sistemas de complemento: A ideia é simplificar as regras e os cálculos. Por exemplo, subtrair deve de ser a mesma coisa do que adicionar, e.g = 3 + (-2)

31 TC – DEI, 2005/2006 Complementos para 1 O número negativo é obtido negando todos os bits do correspondente positivo Vantagens: muito fácil fazer cálculos e não é necessário processar o bit de sinal separadamente Exemplo: Somar 2 com -5 Subtrair a 2, o número (+2) (-5) 1100 (-3)

32 TC – DEI, 2005/2006 Complementos para 1 Na verdade, fazer a adição é um pouco mais complicado 0101 (+5) (-2) Carry-out (+3) Note-se que isto só se aplica quando são números de sinais diferentes: O carry-out tem de ser adicionado! As condições de overflow são algo complicadas de detectar... Por exemplo, 5+5 = ??

33 TC – DEI, 2005/2006 Complementos para 2 O sistema utilizado em todas as máquinas modernas Não é necessário uma pessoa preocupar-se com o carry Cálculos realmente directos Overflow é trivial de detectar Uma única representação para o 0! Conversão para complementos de 2 (dois métodos): Calcula-se o complementos para um e soma-se 1 Copiam-se os bits da direita (LSB) para a esquerda até encontrar o primeiro 1 e trocam-se todos os bits a partir dai. (23) 10 = ( ) 2 (-23) 10 = ( ) 2 (9) 10 = ( ) 2 (-9) 10 = ( ) 2

34 TC – DEI, 2005/2006 Complementos para (+5) (-2) Carry-out (+3) Exemplo: Subtrair a 2, ao número 5 Somar 5 com -2 Ignora-se o valor de carry!

35 TC – DEI, 2005/2006 Complementos para 2 Overflow Quando o resultado não cabe no número de bits do resultado, diz-se que ocorreu um overflow. Na adição em complementos para dois, um overflow é detectado quando o valor de carry que entra no bit de sinal é diferente do que sai. 010 (+5) 011 +(+6) Carry , o que implica que o cálculo está errado! (-5) ????

36 TC – DEI, 2005/2006 Representação de números reais Existem dois sistemas de uso comum: Vírgula fixa: existe um determinado número de bits fixo que representa a parte inteira, e um fixo de bits que representa a parte fraccionária Quanto vale este número em decimal? Qual é o valor máximo e mínimo que consigo representar?

37 TC – DEI, 2005/2006 Representação de números reais Vírgula flutuante: o equivalente à representação científica. Existe um número de bits que corresponde a mantissa e um certo número de bits que corresponde ao expoente e+05 (=3.4x ) 0 S 00 S MantissaExpoente

38 TC – DEI, 2005/2006 Formato IEEE 754 Actualmente virtualmente todos os computadores utilizam o formato IEEE 754. A base é implicita e é 2. Precisão simples: 32 bits É utilizado um código de excesso para a mantissa (127) Precisão dupla: 64 bits É utilizado um código de excesso para a mantissa (1023) ExpoenteSMantissa 1bit8 bits23 bits ExpoenteSMantissa 1bit11 bits52 bits

39 Algumas Operações Importantes em Binário Paulo Marques Tecnologia dos Computadores 2005/2006

40 TC – DEI, 2005/2006 AND, OR, XOR

41 TC – DEI, 2005/2006 Operações Bitwise AND, útil para desligar bits! Queremos desligar o terceiro bit de uma palavra: AND = OR, útil para ligar bits! Queremos ligar o primeiro bit de uma palavra: OR = XOR, útil para inverter bits! Queremos trocar o primeiro bit de uma palavra: XOR = XOR = AND OR XOR 00110

42 TC – DEI, 2005/2006 Operações de Deslocamento Shift Right (SHR ou >>): Desloca para a direita os bits de uma palavra >> 2 = Shift Left (SHL ou <<): Desloca para a esquerda os bits de uma palavra << 2 = São operações importantes nomeadamente porque: SHL 1: Corresponde a multiplicar o número por 2 SHL 2: Corresponde a multiplicar o número por 4 etc. SHR 1: Corresponde a dividir o número por 2 SHR 2: Corresponde a dividir o número por 4 etc.

43 TC – DEI, 2005/2006 Operações de Deslocamento (2) Normalmente existem duas operações de deslocamento à direita: Lógica, em que é um deslocamento simples e o bit que é introduzido no MSB é 0 Aritmética, em que o bit que é introduzido no MSB é igual ao bit de sinal Usado quando o deslocamento corresponde a uma divisão e tem de se manter o valor do bit de sinal para as coisas baterem certo! >> >>> 1 (-7)

44 TC – DEI, 2005/2006 Thats it! Sistema pictográfico de representar números... em chinês!

45 TC – DEI, 2005/2006 Para saber mais... [CSO] Computer Science – An Overview Capítulo 1 (1.1, 1.2, 1.4-representing numeric values, 1.5, 1.6, 1.7, Capítulo 2 (2.4) The Essentials of Computer Organization and Architecture Capítulo 2 (2.1 a 2.6.1); cópias fornecidas no quiosque


Carregar ppt "TC – DEI, 2005/2006 » WHAT WOULD LIFE BE WITHOUT ARITHMETIC, BUT A SCENE OF HORRORS? « Sydney Smith, 1835."

Apresentações semelhantes


Anúncios Google