Hola a todo
Hace poco se me prensento la necesidad de poder realizar una
multiplicación de un numero entero con un decimal:
244 * 3,75 = ?
Como hacerlo si los pic no trabajan binarios en decimal.
La solucìon que encontre es sencilla se toma el numero
decimal, se descompone de la siguiente forma:
3,75= 3 + 0,7 + 0,05
y despues que hacer muy facil, se multiplican los enteros
244 * 3 = 732
Ahora les doy una tabla para saber el equivalente de un
decimal a fraccion:
0.1 = 10
0,2 = 5
0,3 = 3,333 redondeamos a 3
0,4 = 2,5 " a 3
0,5 = 2
0,6 = 1,66 redondeamos a 2
0,7 = 1,42 redondeamos a 1
0,8 = 1,25 redondeamos a 1
0,9 = 1,11 redondeamos a 1
0,01 = 100
0,02 = 50
0,03 = 33,33 redondeamos a 33
0,04 = 25
0,05 = 12
0,06 = 16,66 redondeamos a 17
0,07 = 14,2 redondeamos a 14
0,08 = 12,5 redondeamos a 13
0,09 = 11,11 redondeamos a 11
Bueno, estos son los decimales màs importante para realizar
una multiplicaciòn con decimales
ahora se toma el entero a multiplicar y se divide por el
primer decimal, en nuestro caso fue 0,7, el cual equivale
según la tabla a 1:
244/1 = 244
ahora hago lo mismo con el otro decimal, el cual es 0,05
y equivale a 12, entonces:
244/12 = 20,33 redondeamos a 20
el resultado de la multiplicacion sera el siguiente:
244*3 = 732 +
244/1 = 244
244/12 = 20
__________
TOTAL=====> 996
En una calculador normar da: 915 lo cual representa un
error menor al 10 % (creo que de 8,5 %).
en una rutina de programa tendrias que primero
multiplicar los enteros y luego dividir por
cada uno de los decimales y al final se sumara.
Esta se me ocurrio debido a que necesitaba una multiplicacion
con decimales para un pic 16F84.
Espero que les sirva. SI ALGUIEN TIENE UNA FORMA
MÀS SENCILLA. POR FAVOR COLOQUENLA AQUI MISMO.
GRACIAS.