Ciências da computação dia 6
Bom, no sexto dia, vimos novamente os sistemas de numeração, mas dessa
vez com algumas coisas a mais.
base numérica → toda vez que você conta até certo número e volta depois dele para o zero exemplo: horas em um dia → base 24
Cada numero em um base possui um peso exemplo
1001 → 1(2³) 0(2²) 0(2¹) 1(2⁰) → 2^n é um peso
o mesmo vale para outras bases numéricas
712(base 10) → 7(10²) 1(10¹) 2(10⁰)
esses pesos são representados por → base^n
bit mais significativo(msb) → digito sempre mais a esquerda
bit menos significativo(lsb) → sempre o mais a direita
1001
1(msb) 0 0 1(lsb)
decimal para binário (BCD)
faça divisões sucessivas por 2 ex:
8(10)
8 / 2 → resto 0
4 / 2 → resto 0
2 / 2 → resto 0 resultado 1 (aqui onde para a conta)
agora pegue do ultima para o primeiro
ficando → 1 0 0 0(base 2) = 8(base 10)
Binário para decimal
operação inversa da anterior
1 0 0 0
1 * 2 + 0 =2
2 * 2 + 0 = 4
4 * 2 + 0 = 8
digito parcial (numero que foi resultado do anterior ou o primeiro numero no caso 1) * numero da base(no caso 2) + próximo numero binário
números fracionados
Decimal para binário
45,25(base 10)
pego a parte fracionada (0, 25)
e faço multiplicações sucessivas por 2
0,25 * 2 = 0, 50
0,50 * 2 = 1,00
obs: aqui você só multiplica os valores fracionados então caso de 1,30, por exemplo, você não vai fazer 1 * 2 o resultado dessa multiplicação será 0,60
depois disso você pega os inteiros que lhe deram de resultado de cima para baixo no caso → 0,01
note que aqui seu ultimo número foi 1,00, isso significa que o numero transformado deu exato, mas nem sempre isso acontecerá, podem ocorrer casos de dizima ou número irracionais. No caso das dizimas você pode parar a qualquer momento, mas em casos de irracionais você tem de deixar o número o mais próximo possível do original(essa precisão vai depender do projeto que você está fazendo) quando você converte este de binário para decimal novamente (isso é chamado de erro), esse erro é calculado dessa forma:
margem de erro = numero original --- conversão do número binário para decimal
conversão de binário para decimal fracionado
pegue o resultado em binário
0,01
e veja seus pesos
no caso de número depois da vírgula, o expoente de dois é negativo e inicia-se em -1
sendo assim:
0, 0 (-1) 1 (-2)
transformando isso em fração se torna
0, 0(1/2¹) 1(1/2²) ou 0,0(1/2) 1(1/4)
agora faça o mesmo da transformação de binário para decimal
pegue os pesos que possuem 1 e some
sendo assim
1/4 neste exemplo ou 0.25