Informática, perguntado por joycekelly2726, 1 ano atrás

Temos o sistema decimal (base 10), o binário (base 2), o octal (base 8) e o hexadecimal (base 16). Imaginando que você é um computador e que os computadores realizam as operações aritméticas somente no sistema binário resolva a seguinte equação: X = (1510 + 1D16) x 148Observe que os números da equação não estão em binário por isso será necessário efetuar primeiramente as conversões de base para depois efetuar os cálculos. Fica definido que para converter de hexadecimal/octal para binário primeiramente se converterá para decimal e depois de decimal para binário. O resultado final da equação deverá ser demonstrado em binário (base 2). Os passos para as conversões de base e cálculos de multiplicação e soma deverão ser demonstrados.

Soluções para a tarefa

Respondido por bokomoko
1
Programadores não convertem de hexadecimal/octal para decimal e depois para binário. Programadores convertem de hexa/octa direto para binário.
As base 16 e 8 são potências exatas da base 2. No caso 16 é 2⁴ e 8 é 2³. Por acaso, a base 10 não é potência de 2 pois 10 é  2^{3,321928095
} .

Para converter de hexadecimal para decimal é só multiplicar:
X = (1510 + 1D16) x 148
1510
₁₆ = 
0 * 16⁰ + 1 * 16¹ + 5 * 16² + 1 * 16³=  0 *1 + 1 * 16 + 5 * 256 + 1 * 4096 = 5392₁₀

1D16₁₆ =
6 * 16⁰ + 1 * 16¹ + D * 16² + 1 * 16³ = 6*1 + 1 * 16 + 13 * 256 + 1 * 4096 =  7446₁₀

148₁₆
8 * 16⁰ + 4 * 16¹ + 1 * 16²  = 8 * 1 + 4 * 16 + 1 * 256 =  328₁₀

Então X é igual a (5392₁₀ + 7446₁₀ )*  328₁₀ =  4210864₁₀

Convertendo  4210864₁₀ para binário, vamos dividir por 2 sucessivamente e obter o resto da divisão, que será o dígito binário.
dividendo..... resto
4210864...... 0
2105432...... 0
1052716...... 0
526358........ 0
263179........ 1
131589........ 1
65794.......... 0
32897.......... 1
16448.......... 0
8224............ 0
4112............ 0
2056............ 0
1028............ 0
514.............. 0
257.............. 1
128.............. 0
64................ 0
32................ 0
16................ 0
8.................. 0
4.................. 0
2.................. 0
1.................. 1

Então 
4210864₁₀ = 10000000100000010110000₂
Anexos:
Perguntas interessantes