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

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

SISTEMAS DE NUMERAÇÃO 1. SISTEMAS DE NUMERAÇÃO 2. ARITMÉTICA BINÁRIA

Apresentações semelhantes


Apresentação em tema: "SISTEMAS DE NUMERAÇÃO 1. SISTEMAS DE NUMERAÇÃO 2. ARITMÉTICA BINÁRIA"— Transcrição da apresentação:

1 SISTEMAS DE NUMERAÇÃO 1. SISTEMAS DE NUMERAÇÃO 2. ARITMÉTICA BINÁRIA
1.1. SISTEMA DE NUMERAÇÃO BINÁRIO 1.2. SISTEMAS DE NUMERAÇÃO OCTAL E HEXADECIMAL 1.3. CONVERSÃO DE BASES NUMÉRICAS CONVERSÃO ENTRE AS BASES POTÊNCIAS DE 2 CONVERSÃO ENTRE A BASE BINÁRIA E A HEXADECIMAL CONVERSÃO ENTRE A BASE HEXADECIMAL E A BINÁRIA CONVERSÃO ENTRE A BASE BINÁRIA E A OCTAL CONVERSÃO ENTRE A BASE OCTAL E A BINÁRIA CONVERSÃO ENTRE BASES OCTAL E HEXADECIMAL CONVERSÃO DE UMA BASE QUALQUER PARA BASE DECIMAL CONVERSÃO DA BASE DECIMAL PARA UMA BASE QUALQUER CONVERSÃO ENTRE DUAS BASES DISTINTAS QUAISQUER 1.4. REPRESENTAÇÃO DE NÚMEROS NEGATIVOS 1.5. REPRESENTAÇÃO DE NÚMEROS BINÁRIOS NA NOTAÇÃO EM COMPLEMENTO A 2 1.6. REPRESENTAÇÃO DE NÚMEROS DECIMAIS NO FORMATO BINÁRIO (CÓDIGO BCD) 2. ARITMÉTICA BINÁRIA 2.1 OPERAÇÕES DE ADIÇÃO E SUBTRAÇÃO BINÁRIAS EM COMPLEMENTO PARA 2 2.2. ADIÇÃO E SUBTRAÇÃO BINÁRIAS COM PALAVRAS DE DIFERENTES TAMANHOS 2.3.CONSIDERAÇÕES FINAIS

2 SISTEMAS DE NUMERAÇÃO Em qualquer sistema de numeração (decimal, hexadecimal, octal, binário, etc...) um número é representado por meio de uma seqüência de dígitos referentes a sua parte inteira, uma outra seqüência que se refere a sua parte fracionária e um símbolo de separação entre as duas partes (vírgula ou ponto). Portanto, um sistema de numeração é composto por: - Uma base n; - Conjunto de n símbolos distintos denominados dígitos; - Número – corresponde à uma seqüência de dígitos; - Valor do dígito – determinado em função do dígito e da sua posição na seqüência de dígitos. Assim, o valor de cada dígito corresponde às potências inteiras da base do sistema de numeração; Num sistema de numeração genérico de base r o número N é representado da seguinte forma: N(r) = djdj−1...d3d2d1d0(,)d(−1)d(−2)...d[−(k−1)]d(−k), ONDE N(r) = dj*rj + dj-1*rj d1*r1 + d0*r0 + d-1*r d[−(k−1)]*r[−(k−1)]+d(−k)*r(−k)

3 - N é o número representado.
- r é a base numérica de representação - dj e d−1 são os dígitos mais significativos das partes inteira e fracionária respectivamente. - d0 e d−k são os dígitos menos significativos das partes inteira e fracionária respectivamente. - {a0, a1, ..., an-1} – conjunto de n dígitos da base n A parte inteira é composta por j +1 dígitos e a parte fracionária é composta por k dígitos. Os sistemas numéricos mais utilizados são os seguintes: Decimal ou de base 10 - r = 10 ; alfabeto d ∈{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}*; Binário ou de base 2 - base r = 2 ; alfabeto; d ∈{0, 1}* Hexadecimal ou de base 16 - base r =16 ; d ∈{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}*, onde A=10, B=11, C=12; D=13, E=14 e F=15 na base decimal; Octal ou de base 8 – base r = 8 ; alfabeto; d ∈ {0, 1, 2, 3, 4, 5, 6, 7}* * valores na base decimal

4 1.1. SISTEMA DE NUMERAÇÃO BINÁRIO
Os atuais sistemas de computação compreendem somente dois estados, em razão de suas portas lógicas elementares reconhecerem somente os níveis alto de baixo de tensão que passa por elas. Por este motivo, os computadores não conseguem trabalhar diretamente com sistemas decimais de numeração. Sendo adotado o sistema de numeração binário. O sistema de numeração binário permite representar números utilizando apenas os dois símbolos (dígitos “0” e “1”). A grande vantagem conseguida com a representação de números decimais no sistema binário é justamente adequar-se a limitação existente dos atuais computadores. Como exemplo, o valor do número 1101,101 em base 10 é: (1101,101)2 = 1x23 + 1x22 + 0x21 + 1x20 + 1x2−1 + 0x2−2 + 1x2−3 =(13,625)10

5 1.2. SISTEMAS DE NUMERAÇÃO OCTAL E HEXADECIMAL
Além do sistema binário (base 2), o sistema octal (base 8) e o sistema hexadecimal (base 16) são também formas convenientes para representar informação binária, pois permitem representar um determinado valor de forma mais compacta que no sistema binário. Em particular o sistema hexadecimal tem particular interesse como forma de representação de dados binários porque como um dígito hexadecimal representa um conjunto de 4 dígitos binários (notar que 24 =16) bastam dois dígitos hexadecimais para representar 1 byte (1 byte corresponde a uma palavra binária de 8 bits).

6 1.3. CONVERSÃO DE BASES NUMÉRICAS
CONVERSÃO ENTRE AS BASES POTÊNCIAS DE 2 CONVERSÃO ENTRE A BASE BINÁRIA E A HEXADECIMAL Para passar um número de binário para hexadecimal, agrupam-se os dígitos binários em grupos de quatro a partir vírgula ou ponto que separa a parte inteira da parte fracionária em ambas as direções. A seguir cada grupo é substituído pelo seu equivalente hexadecimal. Relativamente à parte fracionária, as posições incompletas à direita do algarismo menos significativo são preenchidas com zeros. Ex: = 5C16 0101 = 5 1100 = C 11, = 3,BC16 0011 = 3 1011 = B

7 1.3.1.2. CONVERSÃO ENTRE A BASE HEXADECIMAL E A BINÁRIA
Para passar da representação em sistema hexadecimal para binário cada dígito hexadecimal é substituído pela sua representação binária em quatro bits. Depois da conversão, os zeros à esquerda do algarismo mais significativo da parte inteira são desprezados, assim como os zeros à direita da parte fracionária não antecedidos por algarismos significativos (diferentes de zero). 81F16 = 8 = 1000 1 = 0001 F = 1111 1DBA,816 = ,12 1 = 0001 = 1 D =1101 B =1011 A =1010 8 =1000 (estes três últimos zeros são ignorados por estarem na parte fracionária e não terem nenhum algarismo significativo anterior a eles)

8 1.3.1.3 CONVERSÃO ENTRE A BASE BINÁRIA E A OCTAL
Para passar um número de binário para octal, agrupam-se os dígitos binários em grupos de três a partir vírgula ou ponto que separa a parte inteira da parte fracionária em ambas as direções. A seguir cada grupo é substituído pelo seu equivalente octal. Relativamente à parte fracionária, as posições incompletas à direita do algarismo menos significativo são preenchidas com zeros. = 2768 10 = 2 111 = 7 110 = 6 ,00112 = 1370,148 1 = 1; 011 = 3; 111 = 7; 000 = 0; 001 = 1; 100 = 4;

9 1.3.1.4. CONVERSÃO ENTRE A BASE OCTAL E A BINÁRIA
Para passar da representação em sistema octal para binário cada dígito octal é substituído pela sua representação binária em três bits. Depois da conversão, os zeros à esquerda do algarismo mais significativo da parte inteira são desprezados, assim como os zeros à direita da parte fracionária não antecedidos por algarismos significativos (diferentes de zero). 15378 = ; 1 = 001 (estes dois zeros serão ignorados); 5 =101; 3 = 011; 7 =111 2046,168 = ,001112; 2 = 010 (o zero a esquerda será ignorado); 0 = 000; 4 =100; 6 =110; 1 = 001; 6 =110; (o zero a direita será ignorado)

10 1.3.1.5. CONVERSÃO ENTRE BASES OCTAL E HEXADECIMAL
A conversão entre a base 8 e a base 16 pode ser conseguida muito facilmente utilizando uma representação intermédia em base 2 e aplicando as regras descritas acima para converter entre a base 2 e as bases 8 e 16. FAZER QUESTÕES 1 a 4

11 1.3.2. CONVERSÃO DE UMA BASE QUALQUER PARA BASE DECIMAL
Deve-se seguir o modelo explanado no slide 2, ou seja, deve-se multiplicar cada algarismo significativo por np, onde n é a base do número que se quer converter e p é a posição do dígito no número. A posição do algarismo logo a esquerda da vírgula ou ponto que separa a parte inteira da parte fracionária vale 0, decrescendo a direita e crescendo a esquerda. O resultado final da conversão resultará da soma dos valores encontrados nas multiplicações acima. Ex: = 1*93 + 5*92 + 8*91 + 7*90 + 4* *9-2 = (na verdade, o valor encontrado foi uma dizima, que foi truncada na 6ª casa decimal)

12 1.3.3. CONVERSÃO DE UMA BASE DECIMAL PARA UMA BASE QUALQUER
Nos pontos anteriores foi descrito o processo de conversão de quantidades expressas em bases quaisquer para base 10. A conversão de um número na base 10 para uma base diferente realiza-se em duas etapas: (1) A parte inteira é convertida segundo o método das divisões sucessivas. (2) A parte fracionária é convertida segundo o método das multiplicações sucessivas. (1) Dividi-se o valor sucessivamente pelo valor da base que se deseja converter o número, o número convertido será formado pelos restos das divisões efetuadas, onde o algarismo menos significativo é o obtido na primeira divisão, decrescendo a posição do algarismo nas divisões seguintes e com o algarismo mais significativo sendo o quociente da última divisão. Conversão de para base 9: = Os zeros à esquerda (caso existam) não são considerados. 8304 / 9 = 922 resto 6 922 / 9 = 102 resto 4 102 / 9 = 11 resto 3 11 / 9 = 1 resto 2 (2) Multiplica-se o valor sucessivamente pelo valor da base que se deseja converter o número, o número convertido será formado pelas partes inteiras das multiplicações efetuadas, onde o algarismo mais significativo é o obtido na primeira multiplicação, decrescendo a posição do algarismo nas multiplicações seguintes. Conversão de 0,354 para hexadecimal 0,354 * 16 = 5,664 0,664 * 16 = 10,624 (1010 = A16) 0,624 * 16 = 9,984 ... 0,35410 = 0,5A9...16

13 1.3.4. CONVERSÃO ENTRE DUAS BASES DISTINTAS QUAISQUER
A conversão de uma quantidade numérica expressa em base r (com r ≠ 10) para uma base genérica s segue o seguinte raciocínio (quer para a parte inteira quer para a parte fracionária): Nr − > N10 − > Ns - ou seja: primeiro faz-se a conversão da base r de origem para decimal e depois para a base s pretendida (itens e respectivamente). Os casos particulares de conversão octal para binário (e vice-versa) e de hexadecimal para binário (e vice-versa) já foram descritos anteriormente. FAZER QUESTÕES 5 a 12

14 1.4. REPRESENTAÇÃO DE NÚMEROS NEGATIVOS
No sistema de numeração decimal que utilizamos correntemente representamos números negativos precedendo o seu valor de um sinal menos (-) e números positivos pelo seu valor ou precedendo-o de um sinal (+). A esta forma de representação chamamos sinal e grandeza ou sinal e magnitude e podemos utilizá-la naturalmente para representação de grandezas negativas em qualquer sistema de numeração. No caso particular do sistema binário, o sinal é representado por um bit adicional que é o “1” lógico para representar grandezas negativas e o “0” lógico para representar grandezas positivas. No sistema binário o bit de sinal de uma palavra binária é o bit mais significativo da palavra. Sendo assim, com N bits podemos representar números positivos e negativos no intervalo [−(2N−1 −1), 2N−1 −1]. Por exemplo, com 8 bits podemos representar números na notação sinal e magnitude compreendidos no intervalo [−127,+127] Exemplos: = − 8510 = + 010 = * − 010 = * * Nesta notação o zero tem duas formas de representação possíveis, o que é extremamente inconveniente.

15 1.5. REPRESENTAÇÃO DE NÚMEROS BINÁRIOS NA NOTAÇÃO EM COMPLEMENTO A 2
Complemento para 2 é uma forma de representação de números negativos representados no sistema binário ou de base 2, e consiste em representar valores negativos como complementos de valores positivos de mesmo módulo. Primeiramente, é necessário estabelecer o número de bits da palavra binária utilizada para representação da informação (1 bit para o sinal e os demais para a mantissa). Uma vez estabelecido o tamanho da palavra em bits, qualquer transporte resultante da soma ou subtração aritméticas dos bits mais significativos de duas palavras binárias são desprezados. Na notação em complemento para 2, a gama de representação possível para uma palavra binária com N bits é a seguinte [−2N−1 ,+2N−1 −1] (1 valor a mais que na notação sinal e magnitude comparando palavras que utilizam a mesma quantidade de bits). Exemplos: Num microprocessador com registros de 8 bits, cada registro apenas poderá armazenar números compreendidos obrigatoriamente entre [−128,+127], (ou em binário [ , ]). Qualquer resultado superior a 127 ou inferior a -128 resulta numa condição de overflow (erro por limitação da capacidade de armazenamento da informação binária).

16 Num microprocessador com registros de 16 bits o resultado da operação de soma ou subtração aritméticas (binária) de duas variáveis A e B deverá ser um número compreendido obrigatoriamente entre [−32768,+32767], (ou em binário [ , ]). Qualquer resultado superior a ou inferior a resulta numa condição de overflow. Na notação em complemento para 2 é fundamental ter em atenção os seguintes pressupostos: 1. O tamanho da palavra binária utilizada para na representação da informação. 2. O bit mais significativo (MSB em inglês) é o bit de sinal. Se este bit vale “1” então a grandeza é negativa, enquanto que se vale “0” então a grandeza é positiva. 3. O complemento para 2 de um número binário positivo X resulta no seu valor negativo −X (MSB é invertido passando a “1”). Da mesma forma, o complemento para 2 de um número binário negativo − X (MSB está a “1”) resulta no seu valor positivo X (MSB é invertido passando a “0”). Ou seja, o número binário mantém a mesma magnitude (ou grandeza), mas o bit de sinal é invertido. 4. O MSB indica o sinal, mas, em valores negativos, a mantissa não informa diretamente o valor absoluto da grandeza Exemplo: = (representação sinal e magnitude) − 8510 = (representação sinal e magnitude) Nestes casos, o MSB representa o sinal e os outros bits representam a grandeza = (representação complemento a base) − 8510 = (representação complemento a base)

17 Nestes casos o MSB continua representando o sinal, em +8510, os outros bits representam a grandeza 85, porém em -85, temos = 43 (128-85) Existem duas formas possíveis de se determinar o complemento para 2 de um número binário com o tamanho de N bits: 1. Complementa-se (inverte-se) cada bit da palavra binária a partir do bit menos significativo (LSB em inglês) em direção ao bit mais significativo (MSB). Em seguida adiciona-se 1 ao resultado obtido. 2. Partindo do bit menos significativo (LSB) mantêm-se os valores dos bits da palavra binária até que o primeiro 1 seja encontrado. A partir da posição seguinte a esta, os restantes bits são complementados em direção ao bit mais significativo (MSB). Exemplos: Determinar o complemento para 2 de = 1. Complementando cada bit da palavra a partir do LSB obtemos Em seguida somamos 1 ao LSB de e obtemos = −127 na notação em complemento para 2 para palavras binárias de 8 bits. Notar que o MSB é igual a 1, logo o número é negativo. 2. Partindo do LSB da palavra binária +127 = mantemos os valores dos bits da palavra até encontrar o primeiro 1 que neste exemplo é o próprio LSB. A partir da posição seguinte complementamos os demais bits em direção ao MSB. −127 =

18 Outros exemplos (em complemento para 2 e para palavras com um byte de tamanho):
+31 = > −31 = ; +3 = > − 3 = ; +0 = > − 0 = (1) Na notação em complemento para 2 o zero apenas tem uma representação possível, sendo que o bit de transporte resultante desta operação é desprezado uma vez que a representação é em oito bits. Não existe overflow porque o bit de sinal (na oitava posição e ao lado do bit desprezado) é igual a 0. −128 = > ≠ Não podemos calcular o complemento para 2 de -128 porque o número 128 não pode ser representado em complemento para 2 com palavras de comprimento igual a 8 bits. FAZER QUESTÕES 13 a 17

19 1.6. Representação de números decimais no formato binário (código BCD)
A forma mais comum de representar valores numéricos em sistemas digitais consiste na utilização do sistema de numeração binário já apresentado. A utilização deste sistema é vantajosa porque permite utilizar de forma eficiente os diferentes códigos representados por um determinado número de bits. No entanto, quando valores numéricos são apresentados em alguns dispositivos de saída para serem percebidos por um ser humano, devem ser mostrados em formato decimal por ser este o sistema de numeração a que estamos habituados a lidar. O processo necessário para determinação dos dígitos decimais que formam um determinado valor requer a realização de uma série de divisões por 10 que são bastante mais complexas que os somadores ou subtratores binários. Outra forma de representação de números usando o sistema binário consiste em representá-los como uma série de dígitos decimais, cada um representado como um valor de 4 bits (entre 0 e 9). Por exemplo, o número decimal 1234 pode escrever-se como uma seqüência de grupos de 4 bits, formando uma palavra binária com tamanho total igual a 16 bits, onde cada grupo de 4 bits codifica um dígito decimal: = BCD 110 = 00012 210 = 00102 310 = 00112 410 = 01002

20 Este formato particular de representação de números decimais no sistema binário é conhecido por Decimal Codificado em Binário, ou como é vulgarmente conhecido BCD (do inglês Binary-Coded Decimal). O código BCD é um código ponderado (pesos 8, 4, 2 e 1), codificado em palavras binárias de 4 bits. A principal vantagem deste código é que as conversões entre decimal e BCD são fáceis de se realizar, uma vez que um número decimal de n dígitos pode ser automaticamente representado em BCD através da substituição de cada dígito pelo seu valor binário em 4 bits, ou seja, cada byte de informação codifica dois dígitos decimais. Uma das desvantagens do formato BCD é a má utilização dos bits empreguados na representação de um número decimal. Com 16 bits o sistema de numeração binário permite representar números decimais sem sinal entre 0 e 65535, mas no formato BCD apenas é possível representar valores entre 0 e 9999, já que nos 4 bits que representam cada dígito decimal não são utilizados os códigos entre 1010 (10) e 1111 (15). A representação de números com sinal no formato BCD pode ser feita usando uma notação sinal e grandeza ou então a notação em complemento para 10. Outros exemplos: 23 – (0010 -> 2 e > 3) 78 – (0111 -> 7 e > 8) Fazer questão 18

21 2. ARITMÉTICA BINÁRIA 2.1 OPERAÇÕES DE ADIÇÃO E SUBTRAÇÃO BINÁRIAS EM COMPLEMENTO PARA 2 A representação de valores com sinal em complemento para dois, bem como o armazenamento dos resultados obtidos a partir das operações aritméticas pressupõe um número de bits determinados para a sua representação e deve ser ignorado o transporte que é gerado para além do bit mais significativo. A partir da representação de números binários na notação em complemento a 2 é possível realizar as operações aritméticas da soma e da subtração binárias com dois módulos básicos apenas: um “somador” e um “inversor”. Isto porque A − B = A + (−B) , ou seja, na subtração basta calcular o complemento a 2 de B. Em complemento a 2 os números em formato binário podem ser somados digito a digito, tal como na aritmética decimal. O bit de transporte à esquerda do bit mais significativo (MSB) corresponde à posição 8 (0,1,2,...,8) numa soma de palavras com um comprimento igual a 1 byte. Para palavras binárias com este tamanho o resultado obtido estará correto partindo do princípio que é um número compreendido entre +127 e Caso contrário corresponde a uma situação de overflow, não tendo significado. Exemplo 1: = >>> = Exemplo 2: − 7210 = (−72)10 = 2510. A operação de subtração binária é transformada numa operação de adição de um número positivo 97 = com um número negativo −72 = , ambos representados em complemento para 2. +9710 − 7210 = – (-72)10 = (complemento a base 2 de ) (-72)10 = *(1) = = +25 * o 1 entre parenteses, por estar a esquerda do MSB será desprezado

22 Exemplo 3: - 2510 – 3210 = (-25)10 + (-32)10 = -5710
(nesta linha, calculamos o complemento a 2 dos dois valores negativos) *(1) = = -5710 Uma situação de overflow ocorre se o resultado da soma de dois números positivos resultar um valor de sinal negativo ou quando a soma de dois números negativos resultar um valor de sinal positivo, ou seja: sempre que há troca de sinal na soma de dois números com o mesmo sinal. FAZER QUESTÕES 19 a 25

23 2.2. ADIÇÃO E SUBTRAÇÃO ARITMÉTICAS (BINÁRIAS) COM PALAVRAS DE DIFERENTES TAMANHOS
Quando se efetua a adição binária de dois números representados em complemento para dois, os dois operandos e o resultado devem ter o mesmo número de bits. Se os valores a somar tiverem números diferentes de bits então o resultado terá no máximo o maior número de bits entre os dois operandos. Neste caso é necessário representar o menor operando com o mesmo numero de bits do maior operando. Se o valor é positivo então basta acrescentar zeros à esquerda mantendo o valor do seu bit de sinal. No entanto, se esse valor é negativo o seu bit mais significativo é “1” e é necessário acrescentar “1s” à esquerda por forma a preservar o seu sinal. A esta operação dá-se o nome de extensão de sinal já que consiste em estender o bit de sinal de um número para completar o número de bits requeridos para a realização de uma operação aritmética Exemplos Adicionar x = 1001 com y = , representados em complemento para 2 com 4 e 6 bits, respectivamente. = (1) (resultado com 6 bits) extensão do sinal de x Adicionar x = com y = , representados em complemento para 2 com 4 e 8 bits respectivamente. = (resultado de 8 bits)

24 CONSIDERAÇÕES FINAIS Concluindo o trabalho sobre aritmética binária, alguns pontos são especialmente importantes. 1. Os operandos devem ser escritos com o mesmo número de bits (caso não sejam, deve haver a extensão de sinal esplanada acima) 2. o bit a esquerda do bit de sinal é sempre desprezado 3. Uma subtração sempre será tratada como uma “soma de inversos” 4. O overflow ocorre quando a soma de valores de mesmo sinal resulta um valor com sinal diferente dos operandos


Carregar ppt "SISTEMAS DE NUMERAÇÃO 1. SISTEMAS DE NUMERAÇÃO 2. ARITMÉTICA BINÁRIA"

Apresentações semelhantes


Anúncios Google