0/0 = -1 ??

Buenas a todos.

Soy nuevo en este mundillo de Arduino, aunque poco a poco voy aprendiendo cosas nuevas.

Me surge una duda con algo que me he encontrado simplemente jugando con código.

Tengo un array de 6 elementos inicializado con ceros. Si divido dos elementos de dicho array de la siguiente forma miArray[1] = miArray[0]/miArray[2] el resultado que me da es... -1.

Mi pregunta es, ¿no debería ser 0?

int myArray[6] = {0,0,0,0,0,0};

void setup() {
  Serial.begin(9600);
  myArray[1] = myArray[0]/myArray[2];
  Serial.print(myArray[1]);
}

void loop()
{ 
}

El resultado de 0/0 es indefinido, o dicho de otra forma, error. Te aparece -1 porque has definido las variables como entero. Si fueran unsigned int o unsigned long verás que el resultado varía. Sencillamente se produce un overflow no controlado.

Menudo fallo de matemáticas básicas :cold_sweat:
Muchas gracias por la explicación!

No permitas que tu código haga operaciones del tipo:
numerador / 0.