Picbasic Plus tiene un soporte infalible para las mates en coma flotante.
La serie de 12 bits no soporta la coma flotante. La de 14 soporta plenamente la coma flotante, pero no las operaciones aritmeticas complejas.
La serie de 16 bits, soporta, ademas de las operaciones elementales, [seno,coseno,tangente,arcoseno,arco-coseno,arcotangente,raiz cuadrada,logaritmo10,logaritmoE] con coma flotante, algo que resulta muy util en algunas situaciones, aunque come MUCHA memoria de programa (unos 2000 words), a pesar de que la serie 18F no es precisamente falta en memoria.
Mi recomendación es que uses PicbasicPlus, o sino descargarte alguna rutina de coma flotante desde alguna pagina...
saludos
-------------
Me ha venido inspiracion subita, y os expongo este procedimiento, aver si os sirve ; acabo de inventarmelo sobre la marcha.
1.9*30 = (10*30)+(9*30) / 10
Supongamos 1.9*25 = 47.5
1.9*25 = (10*25)+(9*25) / 10 = 47.5
PERO SUPONGAMOS QUE NO HAY SOPORTE PARA COMA, ENTONCES EL RESULTADO LO ALMACENAREMOS EN DOS VARIABLES, UNO SERA EL ENTERO Y EL OTRO , UNA POTENCIA DEL 10 (1 = 10^1 , 2=10^2...)
entonces:
47.5 seria lo mismo que : 475 y 1 (desplazamiento de la coma a la IZQUIERDA)
si luego queremos re-usar este numero:
"47.5 * 3"
Seria: 475 * 3 = 1425 , y como la segunda variable = 1 , pues supondremos que es 142.5, por si queremos enviar la variable serialmente o a un LCD, siempre como si fuera un STRING.
Ahora un poco mas complejo:
"4.7 * 3.2"
= (40*3.2)+(7*3.2) / 10
Y usando las reglas anteriores:
>>40*3.2 = 3.2*40 = (30*40)+(2*40) =1280 , segunda variable=1
>>7*3.2 = 3.2*7 = (30*7)+(2*7) = 224 , segunda variable(II) = 1
Ahora, cogeriamos tantos numeros desde la derecha como el valor de "segunda variable":
1280 , s.v=1 >> 128 y 0
224 , s.v=1 >> 22 y 4
Sumamos las dos por separado:
128+22=150
0+4=4
Y volvemos a juntarlas
150 y 4 = 1504 , s.v=1
Aqui no acaba la cosa, la operación en sí llevaba /10, por lo que:
s.v=2
Resultado: 1504, s.v=2 (15.04)
Acabo de inventarme ahora mismo el procedimiento, ya me comentaréis sobre su efectividad, lo agradeceria mucho.
Saludos!