TODOPIC
Microcontroladores PIC => dsPIC => Mensaje iniciado por: zer0007 en 28 de Septiembre de 2005, 06:02:00
-
Una curiosidad un problema que tenia y he arreglado.
OJO !!
long id;
unsigned , int_uno,int c_dos, c_tres, c_cuatro, c_cinco;
id = ((c_uno * 10000)+(c_dos * 1000)+(c_tres * 100)+(c_cuatro * 10)+c_cinco);
Esto me daba un error en el id aunque no overflow, el problema es que al hacer c_uno * 10000 no lo hace en una variable temporal pero del tipo de c_uno, por lo que el resultado no pasaba de un unsigned int, lo que hay que hacer es declarar también c_uno como long y solucionamos el problema.
-
También podrías usar la conversión momentánea del tipo:
long id;
unsigned int c_uno,int c_dos, c_tres, c_cuatro, c_cinco;
id = (((long)c_uno * 10000)+(c_dos * 1000)+(c_tres * 100)+(c_cuatro * 10)+c_cinco);
-
Gracias Nocturno tu siempre al quite
-
Escrito originalmente por nocturno66
También podrías usar la conversión momentánea del tipo:
long id;
unsigned int c_uno,int c_dos, c_tres, c_cuatro, c_cinco;
id = (((long)c_uno * 10000)+(c_dos * 1000)+(c_tres * 100)+(c_cuatro * 10)+c_cinco);
-
hola contactos dl foro soy nuevo en este foro y tengo problemas con las funciones del c30 (ADC)