Mudanças entre as edições de "EDI18701 AULA02"
(11 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
Linha 1: | Linha 1: | ||
− | =Conversões de números fracionários= | + | ==Conversões de números fracionários== |
− | + | Do mesmo modo que os números inteiros podem ser convertidos de diferentes bases, os números fracionários também podem ser convertidos facilmente. | |
− | + | Como exemplo, vamos representar o número '''10,5 decimal''', aplicando a seguinte regra de formatação: | |
− | ( | + | <math>10,5d = 1 x 10^1 + 0 x 10^0 + 5 x 10^{-1}\,</math> |
+ | |||
+ | <pre> | ||
+ | 10 | ||
+ | 0 | ||
+ | +0,5 | ||
+ | ---- | ||
+ | 10,5 | ||
+ | </pre> | ||
+ | |||
+ | Podemos utilizar a mesma regra para converter '''números binários fracionários''' | ||
+ | para decimal. | ||
+ | |||
+ | Exemplo: '''101,101b''' par decimal = 5,625d | ||
+ | |||
+ | <math>101,101b = 1 x 2^2 + 0 x 2^1 + 1 x 2^0 + 1 x 2^{-1} + 0 x 2^{-2} + 1 x 2^{-3}\,</math> | ||
+ | |||
+ | Resultado: | ||
+ | |||
+ | <pre> | ||
+ | 4 | ||
+ | 0 | ||
+ | 1 | ||
+ | 0,5 | ||
+ | 0,00 | ||
+ | +0,125 | ||
+ | ------ | ||
+ | 5,625 | ||
+ | </pre> | ||
+ | |||
+ | Podemos também converter '''números decimais fracionários para binários''' através da regra prática a seguir. | ||
+ | |||
+ | Exemplo: converter 8,375d para binário | ||
+ | |||
+ | ;Passo 1: Converter a parte inteira do número para binário: | ||
+ | |||
+ | (desenha no quadro) | ||
+ | |||
+ | Resultado: 8d = 1000b | ||
+ | |||
+ | ;Passo 2: Multiplicar a parte fracionária do número por 2, separando a parte inteira e repetindo o processo até que seja ZERO, ou seja: '''8,375d parte fracionária = 0,375d''' | ||
+ | |||
+ | 0,375 x 2 = '''0''',750<br> | ||
+ | 0,750 x 2 = '''1''',500<br> | ||
+ | 0,500 x 2 = '''1''',000<br> | ||
+ | 0,000 = ZERO<br> | ||
+ | |||
+ | |||
+ | Resultado: 0,375d = '''0,011'''b | ||
+ | |||
+ | ;Passo 3: Juntar a parte inteira e fracionária num único número binário: | ||
+ | |||
+ | Resultado final: 8,375d = '''1000,011b''' | ||
+ | |||
+ | ==Notação de números binários positivos e negativos== | ||
+ | |||
+ | Uma forma de representar números binários positivos e negativos é feita através de um bit de sinal, que fica mais a esquerda do número ('''MSB''' – bit mais significativo). | ||
+ | |||
+ | *Se o bit de sinal for '''0''', o número binário é positivo (+). | ||
+ | *Se o bit de sinal for '''1''', o número binário é negativo (-). | ||
+ | |||
+ | ;Exemplos: | ||
+ | |||
+ | '''0'''010b = +010b = +2d | ||
+ | |||
+ | '''1'''101b = -101b = -5d | ||
=Operações Aritméticas Binárias= | =Operações Aritméticas Binárias= | ||
− | ( | + | Da mesma forma que realizamos operações aritméticas com números decimais, podemos realizar operações aritméticas com números binários, em operações de adição, subtração, multiplicação e divisão. |
+ | |||
+ | |||
+ | ==Adição== | ||
+ | |||
+ | Operações de adição no sistema binário: | ||
+ | |||
+ | <pre> | ||
+ | 0 0 1 1 | ||
+ | + 0 + 1 + 0 + 1 | ||
+ | --- --- --- --- | ||
+ | 0 1 1 10 | ||
+ | </pre> | ||
+ | |||
+ | Na adição de números binários, devemos utilizar o bit de transporte ''carry''. | ||
+ | |||
+ | Exemplo: 110b + 111b = 1101b | ||
+ | |||
+ | <pre> | ||
+ | 11 (bits de carry) | ||
+ | 110 | ||
+ | 111 | ||
+ | ----- | ||
+ | 1101 | ||
+ | </pre> | ||
+ | |||
+ | ==Subtração== | ||
+ | |||
+ | Utilizando o método da soma do '''complemento de 2'''. | ||
+ | |||
+ | *Para se fazer o complemento 2 é preciso fazer o complemento de 1. Para isso, troca-se os bits '''0''' por '''1''' e '''1''' por '''0'''. | ||
+ | *Para se fazer o complemento de 2 soma-se 1 ao resultado do complemento de 1. | ||
+ | |||
+ | Exemplo: 1010b - 0111b = 0011b | ||
+ | |||
+ | Passo 1: Encontra-se o complemento de 2 do subtraendo: 0111b = 1001b | ||
+ | |||
+ | Passo 2: Soma-se o minuendo ao complemento de 2 do subtraendo e desconsidera-se o bit de estouro. | ||
+ | |||
+ | Como fica: | ||
+ | |||
+ | <pre> | ||
+ | 1010 | ||
+ | -0111 | ||
+ | |||
+ | |||
+ | Complemento de 1 + 1 (0111): | ||
+ | |||
+ | 1000 | ||
+ | + 1 | ||
+ | ----- | ||
+ | 1001 | ||
+ | |||
+ | Soma: | ||
+ | |||
+ | 1010 | ||
+ | +1001 | ||
+ | ----- | ||
+ | X0011 | ||
+ | </pre> | ||
+ | |||
+ | Descartando o X o resultado fica: 0011b | ||
+ | |||
+ | ==Multiplicação== | ||
+ | |||
+ | Operações de multiplicação no sistema binário: | ||
+ | |||
+ | <pre> | ||
+ | 0 0 1 1 | ||
+ | x 0 x 1 x 0 x 1 | ||
+ | --- --- --- --- | ||
+ | 0 0 0 1 | ||
+ | </pre> | ||
+ | |||
+ | Exemplo: 11010b x 10b = 110100b | ||
+ | |||
+ | <pre> | ||
+ | 11010 | ||
+ | x 10 | ||
+ | ----- | ||
+ | 00000 | ||
+ | + 11010 | ||
+ | -------- | ||
+ | 110100 | ||
+ | </pre> | ||
+ | |||
+ | ==Divisão== | ||
+ | |||
+ | Exemplo: 110100b x 10b = 11010b | ||
+ | |||
+ | <pre> | ||
+ | 110100 | 10 | ||
+ | -10 +---- | ||
+ | --- 11010 | ||
+ | 010 | ||
+ | -10 | ||
+ | --- | ||
+ | 0010 | ||
+ | -10 | ||
+ | -- | ||
+ | 000 | ||
+ | </pre> | ||
+ | |||
+ | =Exercícios= | ||
− | + | [http://wiki.sj.ifsc.edu.br/images/3/35/EX1_EDI18701.pdf Lista de Exercícios 1 - Sistemas de Numeração] | |
− | |||
----- | ----- | ||
{| border="1" cellpadding="5" cellspacing="0" | {| border="1" cellpadding="5" cellspacing="0" | ||
− | ! style="background: # | + | ! style="background: #ffd700;" | [[EDI18701_AULA01 | << ]] |
− | ! style="background: # | + | ! style="background: #faebd7;" | [[EDI18701 | <> ]] |
− | ! style="background: # | + | ! style="background: #ffd700;" | [[EDI18701_AULA03 | >> ]] |
|} | |} |
Edição atual tal como às 18h12min de 30 de novembro de 2015
Conversões de números fracionários
Do mesmo modo que os números inteiros podem ser convertidos de diferentes bases, os números fracionários também podem ser convertidos facilmente.
Como exemplo, vamos representar o número 10,5 decimal, aplicando a seguinte regra de formatação:
10 0 +0,5 ---- 10,5
Podemos utilizar a mesma regra para converter números binários fracionários para decimal.
Exemplo: 101,101b par decimal = 5,625d
Resultado:
4 0 1 0,5 0,00 +0,125 ------ 5,625
Podemos também converter números decimais fracionários para binários através da regra prática a seguir.
Exemplo: converter 8,375d para binário
- Passo 1
- Converter a parte inteira do número para binário:
(desenha no quadro)
Resultado: 8d = 1000b
- Passo 2
- Multiplicar a parte fracionária do número por 2, separando a parte inteira e repetindo o processo até que seja ZERO, ou seja: 8,375d parte fracionária = 0,375d
0,375 x 2 = 0,750
0,750 x 2 = 1,500
0,500 x 2 = 1,000
0,000 = ZERO
Resultado: 0,375d = 0,011b
- Passo 3
- Juntar a parte inteira e fracionária num único número binário:
Resultado final: 8,375d = 1000,011b
Notação de números binários positivos e negativos
Uma forma de representar números binários positivos e negativos é feita através de um bit de sinal, que fica mais a esquerda do número (MSB – bit mais significativo).
- Se o bit de sinal for 0, o número binário é positivo (+).
- Se o bit de sinal for 1, o número binário é negativo (-).
- Exemplos
0010b = +010b = +2d
1101b = -101b = -5d
Operações Aritméticas Binárias
Da mesma forma que realizamos operações aritméticas com números decimais, podemos realizar operações aritméticas com números binários, em operações de adição, subtração, multiplicação e divisão.
Adição
Operações de adição no sistema binário:
0 0 1 1 + 0 + 1 + 0 + 1 --- --- --- --- 0 1 1 10
Na adição de números binários, devemos utilizar o bit de transporte carry.
Exemplo: 110b + 111b = 1101b
11 (bits de carry) 110 111 ----- 1101
Subtração
Utilizando o método da soma do complemento de 2.
- Para se fazer o complemento 2 é preciso fazer o complemento de 1. Para isso, troca-se os bits 0 por 1 e 1 por 0.
- Para se fazer o complemento de 2 soma-se 1 ao resultado do complemento de 1.
Exemplo: 1010b - 0111b = 0011b
Passo 1: Encontra-se o complemento de 2 do subtraendo: 0111b = 1001b
Passo 2: Soma-se o minuendo ao complemento de 2 do subtraendo e desconsidera-se o bit de estouro.
Como fica:
1010 -0111 Complemento de 1 + 1 (0111): 1000 + 1 ----- 1001 Soma: 1010 +1001 ----- X0011
Descartando o X o resultado fica: 0011b
Multiplicação
Operações de multiplicação no sistema binário:
0 0 1 1 x 0 x 1 x 0 x 1 --- --- --- --- 0 0 0 1
Exemplo: 11010b x 10b = 110100b
11010 x 10 ----- 00000 + 11010 -------- 110100
Divisão
Exemplo: 110100b x 10b = 11010b
110100 | 10 -10 +---- --- 11010 010 -10 --- 0010 -10 -- 000
Exercícios
Lista de Exercícios 1 - Sistemas de Numeração
<< | <> | >> |
---|