Sistemas de Numeração
Representação da Informação para seres humanos Números (1,2,3,4...) Letras (a,a,b,b,c,c...) Sinais de pontuação (:,;...) Operadores aritméticos (+,-,x,/)
Representação da Informação para computadores Apenas usam os dois níveis de sinal eléctrico: zero ou um. Alfabeto apenas com dois símbolos! (digitos binários ou bits) Toda a informação é representada apenas por conjuntos de bits.
Cálculos para os seres humanos Os cálculos aritméticos são feitos usando o sistema de numeração decimal. Numeração de base 10.
Cálculos para os computadores Executam todas as suas operações (quer sejam aritméticas ou lógicas) usando sistema binário, ou sistema de numeração de base 2.
Sistema Decimal
Sistema Decimal Ou de base 10 Utiliza 10 símbolos (algarismos) para representar quantidades: {1, 2, 3, 4, 5, 6, 7, 8, 9, 0} De um modo geral dizemos que a base de um sistema de numeração é dada pelo número de diferentes símbolos usados.
Sistema Decimal Ou de base 10 Um número decimal é formado por uma combinação de algarismos. Para obter a quantidade representada por um número temos de multiplicar cada um dos algarismos por uma potência de 10.
Sistema Decimal Ou de base 10 27315
Sistema Decimal Ou de base 10 27315 20000 + 7000 + 300 + 10 + 5 ou 2 x 10 4 + 7 x 10 3 + 3 x 10 2 + 1 x 10 1 + 5 x 10 0
Sistema Decimal Ou de base 10 Como se representam os seguintes números em potências de 10? 342 6287 505 = 3x10 2 + 4x10 1 + 2x10 0 = 6x10 3 + 2x10 2 + 8x10 1 + 7x10 0 = 5x10 2 + 0x10 1 + 5x10 0
Sistema Binário
Sistema Binário Ou de base 2 Tal como no sistema decimal temos unidades, dezenas, centenas, milhares, etc.. convencionamos que: Os dígitos binários 0 e 1 são bits 8 bits = 1 byte 16 bits = 1 word 32 bits = 1 double word
Sistema Binário Ou de base 2 Para contar em decimal, usamos intuitivamente um algoritmo onde, da direita para a esquerda, incrementamos um contador a 0 e quando passa o valor 9 (valor do símbolo mais elevado) voltamos a zero e incrementamos em um o algarismo imediatamente à esquerda.
Sistema Binário Ou de base 2 Para contar em binário usamos exactamente o mesmo algoritmo que no sistema decimal, mas o valor máximo é 1. Assim temos uma contagem que funciona do seguinte modo: 0000, 0001, 0010, 0011, 0100, 0110, 0111, 1000, etc.
Sistema Binário Ou de base 2 Existem 10 tipos de pessoas no mundo. Os que percebem binário e os que não percebem binário.
Conversão Entre Binário e Decimal
Conversão Binário - Decimal Para converter em decimal um número representado por uma sequência de bits temos de multiplicar cada um dos bits por uma potência de 2, à semelhança do que fazemos no sistema decimal quando representamos um algarismo em potências de 10.
Conversão Binário - Decimal 10100
Conversão Binário - Decimal 10100 1 x 2 4 + 0 x 2 3 + 1 x 2 2 + 0 x 2 1 + 0 x 2 0 16 0 4 0 0
Conversão Binário - Decimal 10100 = 16 + 0 + 4 + 0 + 0 = 2010 Indica a base do número!
Conversão Binário - Decimal A que correspondem no sistema decimal os seguintes números binários? 11001 2 1011001 2 0110 2 = 1x2 4 + 1x2 3 + 0x2 2 + 0x2 1 + 1x2 0 = 1x2 6 + 1x2 4 + 1x2 3 + 1x2 0 = 1x2 2 + 1x2 1
Conversão Binário - Decimal A que correspondem no sistema decimal os seguintes números binários? 11001 2 = 2510 1011001 2 = 8910 0110 2 = 610
Conversão Binário - Decimal 128 64 32 16 8 4 2 1 1 0 0 1 1 0 1 1 128 + 0 + 0 + 16 + 8 + 0 + 2 + 1 = 255
Conversão Binário - Decimal 1 0 0 1 1 0 1 1 Bit mais significativo (MSB: Most Significant Bit) Bit menos significativo (LSB: Least Significant Bit)
Conversão Entre Decimal e Binário
Conversão Decimal - Binário Para converter um número decimal na sua representação binária existem dois métodos possíveis. 1. Extraír potências de 2; 2. Dividir consecutivamente por 2.
Conversão Decimal - Binário 1. Extraír do número decimal potências na base 2 até à potência 2 0. Atribui-se de seguida ao número binário resultante um 1 para cada posição binária correspondente a cada potência extraída;
Conversão Decimal - Binário 25 25 = 32 : demasiado alto 0 2 4 = 16 : menor que 25 1 2510 = 0110012 25-16 = 9 9 23 = 8 : menor que 9 1 9-8 = 1 1 22 = 4 : demasiado alto 0 2 1 = 2 : demasiado alto 0 2 0 = 1 : igual a 1 1 2510 = 110012 Podemos ignorar o primeiro bit. Note que 011001 e 11001 representam o mesmo valor!
Conversão Decimal - Binário 2. Dividir o número decimal sucessivamente por dois até não ser possível. Os restos de cada operação formam o número binário. O quociente da última operação é o bit mais significativo. O resto da primeira operação é o bit menos significativo.
Conversão Decimal - Binário 25 2 2510 = 110012 LSB 1 12 2 0 6 2 0 3 2 1 1 MSB
Conversão Decimal - Binário 30 2 3010 = 111102 LSB 0 15 2 1 7 2 1 3 2 1 1 MSB
Conversão Decimal - Binário A que correspondem no sistema binário os seguintes números decimais? 91 10 227 10 66 10 = 10110112 = 111000112 = 10000102
Operações Binárias
Adição Binária A adição binária segue os seguintes princípios: 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10 0 1 (0 com transporte de 1 para a posição imediatamente superior)
Adição Binária Qual o resultado das seguintes operações em binário? 0101 2 + 01002 101010 2 + 10012 100110 2 + 11112
Adição Binária 1 0101 = 510 + 0100 = 410 1001 = 910 1 101010 = 4210 + 001001 = 910 110011 = 5110 1 1 1 100110 = 3810 + 001111 = 1510 110101 = 5310
Subtração Binária A subtração binária segue as seguintes regras: 0-0 = 0 0-1 = 1 (com empréstimo de 1 da posição imediatamente superior) 1-0 = 1 1-1 = 0
Subtração Binária Qual o resultado das seguintes subtrações em binário? 1001 2-01002 1000 2-12 10110001 2-010101012
Subtração Binária * 1001 = 910-0100 = 410 0101 = 510 *** 1000 = 810-0001 = 110 0111 = 710 * *** 10110001 = 17710-01010101 = 8510 01011100 = 9210
Multiplicação Binária A multiplicação binária segue as mesmas regras que a decimal. Temos assim: 0 * 0 = 0 0 * 1 = 0 1 * 0 = 0 1 * 1 = 1
Multiplicação Binária É necessário proceder à multiplicação parcial de cada um dos bits, começando pelo bit menos significativo. No fim somam-se todas as multiplicações parciais, com base nas regras de soma binária já mencionadas.
Multiplicação Binária Qual o resultado das seguintes multiplicações em binário? 1001 2 * 112 1101 2 * 10112 100101 2 * 10012
Multiplicação Binária 1001 = 910 * 0011 = 310 1001 1001 0000 + 0000 0011011 = 2710 1101 = 910 * 1011 = 310 11101 11101 110000 +01101 10001111 = 14310
Divisão Binária A divisão binária funciona também de modo semelhante à divisão decimal. O método é o seguinte: 1. Selecciona-se do dividendo o mesmo número de bits que tem o divisor de entre os mais significativos; 2. Tenta-se dividir esse número pelo divisor. Se o número for maior que o divisor o primeiro bit do quociente é 1 senão é 0 e é feita outra tentativa usando outro dígito do dividendo.
Divisão Binária 3. Quando a divisão for possível, é introduzido um 1 no quociente e o divisor é subtraído à parte do dividendo usada; 4. O processo continua com o resultado desta subtração até que todo o dividendo seja usado. Da mesma forma que na divisão decimal podem ser acrescentados 0 s à direita da vírgula do dividendo no caso de não se obter o resto zero.
Divisão Binária 101 101 11010-101 0011-000 110-101 001
Divisão Binária A 101 101 11010-101 0011-000 110-101 001 B C D A: Divisor B: Quociente C: Dividendo D: Resto
Divisão Binária 510 101 101 11010-101 0011-000 110-101 001 510 2610 110 26 / 5 = 5 (resto 1)
Divisão Binária Qual o resultado das seguintes divisões em binário? 11011 2 / 1012 100000 2 / 1002 1001 2 / 112
Divisão Binária 1000 100 100000-100 000000 32 / 4 = 8 (resto 0) 011 11 1001-011 0011-011 000 9 / 3 = 3 (resto 0)
Sistema Hexadecimal
Sistema Hexadecimal Ou de base 16 No sistema decimal necessitamos de muitos dígitos para representar números relativamente pequenos, dificultando por vezes a vida dos programadores. Uma solução frequente é o uso de uma numeração hexadecimal.
Sistema Hexadecimal Ou de base 16 Como o nome indica, este sistema é formado por 16 símbolos diferentes: {0,1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F} As letras correspondem aos valores decimais 10, 11, 12, 13, 14 e 15, respectivamente.
Sistema Hexadecimal Ou de base 16 Convém então ter sempre presente o seguinte quadro: Hex A B C D E F Dec 10 11 12 13 14 15
Sistema Hexadecimal Ou de base 16 Como nos sistemas de numeração anteriormente estudados, qualquer número do sistema hexadecimal pode ser desenvolvido em potências da sua base, ou seja, na base 16.
Conversão Entre Hexadecimal e Decimal
Conversão Hexadecimal - Decimal Para converter um número hexadecimal para o número decimal equivalente basta multiplicar cada dígito pela potência de 16 relativa à posição por ele ocupada e somar os resultados.
Conversão Hexadecimal - Decimal 13C
Conversão Hexadecimal - Decimal 13C = 1x16 2 + 3x16 1 + 12x16 0 = 256 + 48 + 12 = 31610
Conversão Hexadecimal - Decimal A que correspondem no sistema decimal os seguintes números hexadecimais? 10 16 1A 16 FCF 16 = 1x16 1 + 0x16 0 = 1610 = 1x16 1 + 10x16 0 = 2610 = 15x16 2 + 12x16 1 + 15x16 0 = 404710
Conversão Entre Decimal e Hexadecimal
Conversão Decimal - Hexadecimal Divide-se o número decimal sucessivamente por 16 até o resultado ser menor que 16. Os restos de cada operação formam o novo número hexadecimal. O valor do primeiro resto é o dígito menos significativo. O valor do último quociente é o dígito mais significativo.
Conversão Decimal - Hexadecimal Menos Significativo 418 16 2 26 16 10 1 41810 = 1A216 10 = A em hex! Mais Significativo
Conversão Decimal - Hexadecimal A que correspondem no sistema hexadecimal os seguintes números decimais? 255 10 327 10 1221 10
Conversão Decimal - Hexadecimal 255 16 15 15 327 16 7 20 16 4 1 1221 16 5 76 16 12 4 25510 = FF16 32710 = 14716 122110 = 4C516
Conversão Entre Binário e Hexadecimal
Conversão Binário - Hexadecimal A conversão entre binário e hexadecimal é bastante simples, tendo em conta que conjuntos de 4 bits só podem ter valores entre 0 e 15 (em decimal) Começando no bit menos significativo fazemse conjuntos de 4 bits convertendo-se cada um dos conjuntos para o correspondente hexadecimal.
Conversão Binário - Hexadecimal 10110111 10101 111101 1110 710 110 510 310 1310 B716 1516 3D16
Adição e Subtração de Hexadecimais
Adição e Subtração Hexadecimais As operações no sistema hexadecimal seguem as mesmas regras dos sistemas anteriormente estudados. Em qualquer sistema de numeração o ponto fundamental a ter em conta é a base do sistema, porque as regras são basicamente as mesmas.
Adição e Subtração Hexadecimais + 0 1 2 3 4 5 6 7 8 9 A B C D E F 0 1 2 3 4 5 6 7 8 9 A B C D E F 0 1 2 3 4 5 6 7 8 9 A B C D E F 1 2 3 4 5 6 7 8 9 A B C D E F 10 2 3 4 5 6 7 8 9 A B C D E F 10 11 3 4 5 6 7 8 9 A B C D E F 10 11 12 4 5 6 7 8 9 A B C D E F 10 11 12 13 5 6 7 8 9 A B C D E F 10 11 12 13 14 6 7 8 9 A B C D E F 10 11 12 13 14 15 7 8 9 A B C D E F 10 11 12 13 14 15 16 8 9 A B C D E F 10 11 12 13 14 15 16 17 9 A B C D E F 10 11 12 13 14 15 16 17 18 A B C D E F 10 11 12 13 14 15 16 17 18 19 B C D E F 10 11 12 13 14 15 16 17 18 19 1A C D E F 10 11 12 13 14 15 16 17 18 19 1A 1B D E F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C E F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E
Adição e Subtração Hexadecimais Qual o resultado das seguintes operações em hexadecimal? 1A 16 + 3116 F8D3 16 + EA6116 ABC 16-64216 4A37 16-2C4B16
Adição e Subtração Hexadecimais 1A = 2610 + 31 = 4910 4B = 7510 1 1 F8D3 = 6369910 + EA61 = 6000110 1E334 = 12370010
Adição e Subtração Hexadecimais ABC = 274810-642 = 160210 47A = 114610 * * * 4A37 = 1899910-2C4B = 1133910 1DEC = 766010
Outros Sistemas de Numeração
Outros Sistemas de Numeração Como pudemos ver, as conversões e cálculos seguem sempre regras muito semelhantes independentemente do sistema de numeração. O importante é ter em consideração a base do sistema que estamos a analisar.
Outros Sistemas de Numeração Um sistema bastante comum é o Sistema Octal, que usa apenas os dígitos: {0,1,2,3,4,5,6,7} Sistemas que tenham base inferior a 10 apenas usam os algarismos a que estamos habituados (do sistema decimal)
Outros Sistemas de Numeração Qual o valor decimal dos seguintes números? 32 8 102 3 4321 5 = 3x8 1 + 2x8 0 = 2610 = 1x3 2 + 0x3 1 + 1x3 0 = 1010 = 4x5 3 + 3x5 2 + 2x5 1 + 1x5 0 = 58610
Outros Sistemas de Numeração Qual o valor binário dos seguintes números? 32 8 4321 5 = 2610 = 58610
Outros Sistemas de Numeração 586 2 43215 = 10010010102 26 2 0 293 2 1 0 13 146 2 2 0 73 2 1 6 2 1 36 2 0 18 0 3 2 2 0 9 2 1 1 1 4 2 0 2 2 328 = 110102 0 1
Outros Sistemas de Numeração Qual o resultado das seguintes operações no sistema octal? 4567 8 + 3218 6735 8-23438
Outros Sistemas de Numeração 1 1 1 45678 = 242310 + 03218 = 20910 51108 = 263210 * 67358 = 354910-23438 = 125110 43728 = 229810
Outros Sistemas de Numeração Qual o resultado da conversão dos seguintes números decimais? 99 10 em base 3 89 10 em base 8 47 10 em base 5
Outros Sistemas de Numeração 99 3 0 33 3 0 11 3 2 3 3 0 1 89 8 1 11 8 3 1 8910 = 1318 47 5 2 9 5 4 1 9910 = 102003 4710 = 1415