Prévia do material em texto
1 Prof. Gian Carlo Brustolin Matemática Computacional Aula 1 Conversa Inicial Apresenta métodos matemáticos necessários ou adaptados às necessidades computacionais Matemática computacional Bases numéricas – decimal, octal, hexadecimal e binária Conversão entre as bases Erros de conversão – absoluto e relativo Lógica binária – NOT, AND, OR, XOR, SHIFT Aritmética binária – +, *, /, - Bases numéricas, lógica e aritmética binária Duas perguntas: 160 + 10-1 + (1/4-2) = ? Por que contamos somente até 9? Bases numéricas, lógica e aritmética binária Duas perguntas: 160 + 10-1 + (1/4-2) = 1 + 0,1 + (42) = 17,1 Por que contamos somente até 9? O 10, na verdade, está fora dos algarismos da base 10 A invenção do zero Bases numéricas, lógica e aritmética binária Mali lucky/Shutterstock. 2 Bases numéricas Posicional – valor depende da posição Não posicional – III ∩∩ ou ∩ III ∩ ou ∩∩ III Conjunto de símbolos ou de algarismos Arábico Não arábico (43 = XLIII) Bases numéricas, lógica e aritmética binária Bases numéricas Decimal Octal Hexadecimal Binária Bases numéricas Base decimal (β = 10) Posicional crescente da direita para a esquerda, partindo da posição 0 (zero) Cj. de símbolos {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} Posição indica o expoente da base do sistema (β = 10) (153)10 = (1x102) + (5x101) + (3x100) (32,37) 10 = (3x101) + (2x100) + (3x10-1) + (7x10-2) Base octal (β = 8) Posicional crescente da direita para a esquerda, partindo da posição 0 (zero) Cj. de símbolos {0, 1, 2, 3, 4, 5, 6, 7} Posição indica o expoente da base do sistema (153)8 = (1x82) + (5x81) + (3x80)=64+40+30=(107)10; (32,37)8 = (3x81) + (2x80) + (3x8-1) + (7x8-2) 24+2+0,375+0,109375=(26,484375)10 Base hexadecimal (β = 16) Posicional crescente da direita para a esquerda, partindo da posição 0 (zero) {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F} Representações: 0xNNNN NNNNh #NNNN Assim: 0x 1F = 1F h = #1F = 31 = 1 *161 + F *160 = 1 *16 + 15 *1 3 Base binária (β = 2) Posicional crescente da direita para a esquerda, partindo da posição 0 (zero) {0, 1} ou {F, V} ou {Não, Sim} ou… (1001)2 = (1x23) + (0x22) + (0x21) + (1x20) 8 + 0 + 0 + 1 = (9)10 (10,11)2 = (1x21) + (0x20) + (1x2-1) + (1x2-2) 2 + 0 + 0,5 + 0,25 = (2,75)10 Conversão entre as bases Da base (β) para a base 10 (decimal) Da base decimal para β Parte inteira Parte não inteira Conversão direta entre (algumas) bases Conversão entre bases Base (β) para base 10 (decimal) Fatoração (abc,de)β = (a. β2 + b.β1 + c.β0++ d.β-1 + e.β-2)10 (1001)2 = (1x23) + (0x22) + (0x21) + (1x20) 8 + 0 + 0 + 1 = (9)10 (32,37)8 = (3x81) + (2x80) + (3x8-1) + (7x8-2) 24 + 2 + 0,375 + 0,109375 = (26,484375)10 Base decimal para base (β) Parte inteira do valor: divisões sucessivas do número na base 10 pela base β, até que o quociente seja menor que β Parte fracionária: multiplicações sucessivas pela base β, até obtermos um valor exclusivamente inteiro, descartando a parte inteira da multiplicação anterior Base decimal para base (β) – parte INTEIRA (24)10 = (?)2 (24)10 = (11000)2 24 0 2 12 0 2 6 0 2 3 1 2 1 (342)10 = (?)8 (342)10 = (526)8 342 6 8 42 2 8 5 4 Base decimal para base (β) – parte NÃO INTEIRA (0,828125)10 = (?) 2 0,828125 x 2 = 1,65625 0,65625 x 2 = 1,31125 0,3125 x 2 = 0,625 0,625 x 2 = 1,25 0,25 x 2 = 0,50 0,50 x 2 = 1 (0,828125)10 = (0,110101)2 Veremos na prática Conversão direta entre bases Erros de conversão Quando convertemos números entre bases numéricas, podem ocorrer erros, mas apenas se arredondamos um número Por que arredondamos? Exatidão: aproximação ou ocorrência de dízimas Precisão: quantidade insuficiente de dígitos para representar o valor no sistema destino Erros de conversão Um erro qualquer pode ser apresentado como absoluto ou relativo (veremos detalhes em breve) Erros de conversão Lógica binária 5 Como as operações de um computador podem ser executadas, já que usa somente binário? O computador é uma combinação de circuitos eletrônicos elementares que realizam operações, por meio da programação Estes circuitos elementares são conhecidos como portas lógicas Lógica binária Uma porta lógica também pode ser descrita como uma máquina de estados elementar, que executa uma função de transição entre entrada e saída dita tabela verdade Lógica binária Porta NOT AND OR XOR SHIFT Lógica binária NOT: negação ou inversão ou complemento É realizada com apenas um operador: um único bit por vez Resultado: inverso do valor desse operador Expressões lógicas: ~A Ᾱ Porta NOT A Ᾱ A ~A 0 1 1 0 AND: conjunção binária, isto é, uma operação muito semelhante à multiplicação É realizada com dois operadores: um par de bits por vez Resultado: 1 somente se ambas as entradas forem 1 Expressões lógicas: & Porta AND A B A & B 0 0 0 0 1 0 1 0 0 1 1 1 É realizada com, ao menos, dois bits Resultado: 1 quando qualquer dos operandos for 1 Expressões lógicas: + Porta OR A B A + B 0 0 0 0 1 1 1 0 1 1 1 1 A B C 6 É realizada com, ao menos, dois bits Resultado: 1 quando os operandos são diferentes Expressões lógicas: ⊕ Porta XOR A B C A B A ⊕B 0 0 0 0 1 1 1 0 1 1 1 0 Deslocamento ou rotação É realizada com nibble, bytes... Resultado: dobra ou resulta em metade Expressões lógicas: << shift left >> shift right SHIFT Em binário 0 1 0 0 1 1 0 1 << 1 0 0 1 1 0 1 0 Em decimal 77 x2 154 Em binário 0 1 0 0 1 1 0 1 >> 0 0 1 0 0 1 1 0 Em decimal 77 /2 38 Aritmética binária As operações aritméticas básicas são realizadas por meio de portas lógicas Os processos para a realização das operações seguem as mesmas regras da aritmética decimal Aritmética binária Aritmética binária Adição Subtração Multiplicação Divisão Assemelha-se à soma decimal, incluindo Carry Out (vai um) Adição A B A + B Carry Out 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 7 Assemelha-se à soma decimal, incluindo Carry Out (vai um). Vamos relembrar: 0989 +11 = 0989 + 0011 1 1 1 0989 0999 0001 1101 0011 0011 0011 0011 0 00 000 1000 Adição Assemelha-se à soma decimal, incluindo Carry Out (vai um) 0101 +11 = 1101 + 0011 1 1 1 0101 0111 0001 1101 0011 0011 0011 0011 0 00 000 1000 Adição A B A + B Carry Out 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 Assemelha-se à subtração decimal, incluindo “empresta” um Subtração A B A + B Carry Out 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 101 – 011 010 “empresta” um Assemelha-se à decimal, incluindo Carry Out (vai um) Multiplicação 1 1 0 x 1 0 1 1 1 0 + 0 0 0 1 1 0 1 1 1 1 0 Assemelha-se à decimal... Divisão 1 0 1 1 0 1 1 1 1 1 1 0 1 1 1 0 0 0 – 1 1 1 1 Entendemos as diferenças entre bases e como converter bases de expoente 2 Conhecemos as portas lógicas e aprendemos a realizar operações aritméticas básicas na base 2 Finalizando