TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: aitorsp en 09 de Diciembre de 2009, 05:48:29
-
Hola:
Si declaro una variable int8 num y realizo una operacion del tipo num=num*3.92 el resultado deberia ser la parte entera del resultado final?
utilizo el CCS
saludos
aitor
-
buenos dias, aca en venezuela le llamamos a eso comprar y tu mismo te das el cambio. si estimado colega eso seria un resulto entero ya que la variable que estas usado es de tipi int.
Saludos y de todos modo haste una pequeña prueba y lo simulas en proteus y asi sales de duda.
Atten. Alexander Santana.
Venezuela-Barcelona
-
buenos dias, aca en venezuela le llamamos a eso comprar y tu mismo te das el cambio. si estimado colega eso seria un resulto entero ya que la variable que estas usado es de tipi int.
Saludos y de todos modo haste una pequeña prueba y lo simulas en proteus y asi sales de duda.
Atten. Alexander Santana.
Venezuela-Barcelona
Hola:
Efectivamente y en españa se dice "yo me lo guiso y yo me lo como" :D pero simplemente era por confirmarlo con alguien mas. Lo probare en proteus
gracias
aitor
-
ok esperamos tu resultados y nos los muestra para ver como lo simulastes en proteus.
saludos.
Atten. alexander Santana.
Venezuela-Barcelona
-
Hola:
tengo otra cuestion sobre los tipos de datos:
adjunto el codigo:
float valor;
printf(lcd_putc,"Porcent: %3.1f",valor);
En teoria si hago valor=409 y luego valor/10 la LCD deberia mostrar por ejemplo 40.9 verdad?. Pues lo que muestra es 40.0, es decir, el decimal no lo muestra.
un saludo
aitor
-
No, porque debes dividirlo por 10.0 para que realice la operación en flotante.
Saludos!
-
No, porque debes dividirlo por 10.0 para que realice la operación en flotante.
Saludos!
Hola:
entonces al dividir por 10 el resultado lo convertiria en entero aunque el resultado esté declarado como flotante?
-
Exactamente, eso se llama casting. Otra forma sería:
valor=((float)valor/10);
Saludos!