Foros del Web » Programación para mayores de 30 ;) » Programación General »

Convertir un arreglo en Arduino

Estas en el tema de Convertir un arreglo en Arduino en el foro de Programación General en Foros del Web. teniendo esto: int tresnumeros[3]={ 1, 2, 3 }; Quiero conseguir esto que los elementos del arreglo sean un numero para poderlo operar aritmeticamente: int numeroentero=123;...
  #1 (permalink)  
Antiguo 04/04/2017, 21:38
 
Fecha de Ingreso: diciembre-2008
Mensajes: 122
Antigüedad: 15 años, 11 meses
Puntos: 1
Pregunta Convertir un arreglo en Arduino

teniendo esto:
int tresnumeros[3]={ 1, 2, 3 };

Quiero conseguir esto que los elementos del arreglo sean un numero para poderlo operar aritmeticamente:
int numeroentero=123;
  #2 (permalink)  
Antiguo 05/04/2017, 04:01
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 10 meses
Puntos: 606
Respuesta: Convertir un arreglo en Arduino

Entiendo que tendría que ser algo tal que:

Código:
numeroentero = (100*tresnumeros[0])+(10*tresnumeros[1])+tresnumeros[2];
__________________
Aviso: No se resuelven dudas por MP!
  #3 (permalink)  
Antiguo 05/04/2017, 12:34
 
Fecha de Ingreso: diciembre-2008
Mensajes: 122
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: Convertir un arreglo en Arduino

Yo mas buen quiero saber si hay alguna funcio que de seguro desconosco, eso ya se me habia ocurrido pero imaginate si mi numero en el array es 9999999999999999 me entendes yo puse solo tres en mi ejemplo pero para no poner tanto y esperaba que se entienda se que en c hay na forma que se llama atoi pero en arduino nose si anda.
  #4 (permalink)  
Antiguo 06/04/2017, 00:39
 
Fecha de Ingreso: junio-2010
Ubicación: Madrid
Mensajes: 620
Antigüedad: 14 años, 5 meses
Puntos: 73
Respuesta: Convertir un arreglo en Arduino

Tienes una función itoa():

Código C:
Ver original
  1. char *itoa ( int value, char *str, int base );

que te transforma un número entero en una cadena de caracteres.

Puedes hacer un bucle en el que ejecutas itoa() para cada elemento de tu array e ir concatenando los resultados a un string, al final del bucle tendrás tu número pero como cadena de caracteres, entonces puedes utilizar la función atoi() para obtener el número final.

Otra opción es hacer lo mismo pero utilizando la función sprintf() en lugar de itoa().

Creo que ambas funciones están disponibles para Arduino (probablemente tendrás que #incluir stdlib.h y/o string.h), pero piensa que el empleo de funciones de la librería de C puede suponerte el incremento de tamaño del ejecutable final en unos cuantos cientos de bytes por cada una de estas funciones. Tenlo en cuenta si tienes limitaciones de memoria.

Saludos,

Etiquetas: arreglo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:19.