Cuando se aprende un nuevo lenguaje de programación, como el de Arduino, siempre se puede ver que existen diferentes tipos de datos para declarar las variables y constantes que se pueden manejar durante el programa. Estos tipos de datos varĆan en longitud y tipo segĆŗn el lenguaje o plataforma (arquitectura) para la que te encuentres programando, aunque en muchas ocasiones son similares.
En este tutorial podrĆ”s aprender quĆ© son este tipo de datos, cuĆ”ntos hay, por quĆ© se diferencian, etc. AsĆ, cuando escribas código fuente comprenderĆ”s mejor lo que estĆ”s haciendo.
¿Qué son los tipos de datos?
En computación, los tipos de datos son atributos que indican sobre la clase de dato (nĆŗmero entero sin signo, nĆŗmero con signo, coma flotante, cadenas alfanumĆ©ricas, matrices,ā¦) que se estĆ” manejando. Esto tambiĆ©n implica ciertas limitaciones o restricciones con los datos, ya que deben respetar una serie de formas y formato. No pueden tomar cualquier valor, ni tampoco operar con ellos de cualquier forma.
Si nos ponemos en el caso de Arduino, ésta placa de desarrollo no es mÔs que un pequeño computador embebido, con una MCU o microcontrolador compuesto de una memoria, una CPU para el procesamiento, y un sistema E/S. En la CPU existe una serie de unidades de cÔlculo, como la ALU o unidad aritmético-lógica, a la que no le importa el tipo de dato que sea, para ella simplemente se trata de hacer operaciones con ceros y unos, pero en el lado del software sà que importa, ya que para el usuario o para el programador sà que se necesita saber de qué se trata (incluso para el buen funcionamiento del programa, para evitar desbordamientos, vulnerabilidades, etc.).
Tipos de datos en Arduino IDE
Si ya descargaste nuestro curso de programación en Arduino gratuito, o si ya tienes conocimientos de programación en esta plataforma o en cualquier otra, ya sabrÔs que existen varios tipos de datos. Concretamente, el lenguaje de programación usado por Arduino se basa en C++, por lo que en ese sentido es muy similar. Por ejemplo, los mÔs comunes son:
- boolean (8 bit): un dato booleano, es decir, lógico, y que puede tomar solo valor verdadero o falso.
- byte (8 bit): puede ser de 00000000 a 11111111, es decir, de 0 a 255 en decimal.
- char (8-bit): este byte puede contener varios tipos de caraceteres, como nĆŗmeros con signo entre -128 y +127, asĆ como letras.
- unsignedchar (8-bit): lo mismo que byte.
- word (16-bit): es una palabra compuesta por 2 bytes, y puede ser un nĆŗmero sin signo entre 0 y 65535.
- unsignedint (16-bit): un entero sin signo, similar a word.
- int (16-bit): un nĆŗmero entero con signo comprendido entre -32768 y +32767.
- unsignedlong (32-bit): usa cuatro bytes para mayor longitud, pudiendo comprender nĆŗmeros entre 0 y 4294967295.
- long (32-bit): similar al anterior, pero puede incluir signo, por lo que serĆa entre -2147483648 y +2147483647.
- float (32-bit): es un nĆŗmero de coma flotante, es decir, un nĆŗmero con decimales comprendido entre 3.4028235E38 y 3.4028235E38. Ciertamente el microcontrolador Atmel Atmega328P en el que se basa Arduino no cuenta con soporte para nĆŗmeros de coma flotante y tiene un lĆmite de 8-bit en su arquitectura. Sin embargo, se pueden usar debido a que el compilador es capaz de generar secuencias de código capaces de hacer la misma función solo usando las unidades de cĆ”lculo simples de la MCU.
TambiƩn puede haber otros tipos de datos mƔs complejos, como los arreglos, punteros, cadenas de texto, etc.