Simulador de Desbordamiento (Overflow) en Arduino

Visualiza cómo funciona el desbordamiento en los tipos de datos "byte" e "int"

¿Qué es el desbordamiento (overflow)?

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.

Tipo Byte

Tamaño: 1 byte (8 bits)

Rango: 0 a 255

Overflow: 255 + 1 = 0

Underflow: 0 - 1 = 255

Tipo Int

Tamaño: 2 bytes (16 bits)

Rango: -32,768 a 32,767

Overflow: 32,767 + 1 = -32,768

Underflow: -32,768 - 1 = 32,767

Simulador para Tipo BYTE

255
11111111
0x10011111111

El valor actual es 255 (máximo valor para un byte).

Si sumas 1, ocurrirá un desbordamiento y el valor volverá a 0.

Detalles del Tipo Byte en Arduino

• 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)

Historial de Valores (Byte)

Simulador para Tipo INT

32767
0111111111111111
0x10011111111
0x10101111111

El valor actual es 32,767 (máximo valor para un int).

Si sumas 1, ocurrirá un desbordamiento y el valor será -32,768.

Detalles del Tipo Int en Arduino

• 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)

Historial de Valores (Int)