Visualiza cómo funciona el desbordamiento en los tipos de datos "byte" e "int"
En Arduino, cada tipo de dato tiene un rango específico de valores que puede almacenar, determinado por la cantidad de memoria que utiliza.
Cuando intentamos almacenar un valor fuera de este rango, ocurre un desbordamiento y el valor "da la vuelta" al extremo opuesto del rango.
Tamaño: 1 byte (8 bits)
Rango: 0 a 255
Overflow: 255 + 1 = 0
Underflow: 0 - 1 = 255
Tamaño: 2 bytes (16 bits)
Rango: -32,768 a 32,767
Overflow: 32,767 + 1 = -32,768
Underflow: -32,768 - 1 = 32,767
El valor actual es 255 (máximo valor para un byte).
Si sumas 1, ocurrirá un desbordamiento y el valor volverá a 0.
• Ocupa 1 byte = 8 bits en memoria RAM
• Base 2: 2^8 = 256 valores posibles (0-255)
• Cuando el valor supera 255, ocurre un desbordamiento (overflow): 255 + 1 = 0
• Cuando el valor es menor a 0, ocurre un subdesbordamiento (underflow): 0 - 1 = 255
• Solo almacena valores positivos (sin signo)
El valor actual es 32,767 (máximo valor para un int).
Si sumas 1, ocurrirá un desbordamiento y el valor será -32,768.
• Ocupa 2 bytes = 16 bits en memoria RAM
• Base 2: 2^16 = 65,536 valores posibles (-32,768 a 32,767)
• Cuando el valor supera 32,767, ocurre un desbordamiento (overflow): 32,767 + 1 = -32,768
• Cuando el valor es menor a -32,768, ocurre un subdesbordamiento (underflow): -32,768 - 1 = 32,767
• Almacena valores con signo (positivos y negativos)