Estoy ejecutando un experimento usando un Arduino que requiere varios
Millones de cálculos por segundo a ser realizados por un Arduino. yo era
preguntándose las probabilidades (si las hay) de que uno de estos cálculos sea incorrecto,
¿Y cómo podría evitar tal error?
Una pregunta muy mala en su naturaleza ...
Si su comprensión del cálculo 'incorrecto' es aquella en la que el arduino, por ejemplo, instaló la ejecución de '+' en una operación '-', entonces no hay posibilidad de que ocurra. Las operaciones a realizar están 'anidadas' en el código de operación de cada instrucción, es decir, debe tener un chip defectuoso (muy poco probable).
Los cálculos en sí mismos también pueden variar en términos de complejidad. Por ejemplo, una simple adición / resta (+/-) o funciones bitwise (y, ni, xor ...) se realizan en hardware, lo que significa que la posibilidad de error dentro de estos cálculos es muy pequeña (casi imposible).
Sin embargo, como lo mencionaron otros usuarios anteriormente, arduino lleva los niveles de programación unos pasos más altos, al permitirle usar directamente operaciones de punto flotante u operaciones como la multiplicación / división / potencia de / etc. Estas funciones no son implementado en hardware, pero más bien es realizado por muchas funciones menos complejas. Por ejemplo, la multiplicación de A * B es lo mismo que A + A + A ... B veces ... Estas funciones complejas son generalmente iterativas (se realizan en iteraciones numeradas) y toman mucho más tiempo en ejecutarse.
Otra cosa es la precisión de las unidades de punto flotante. Depende de la organización de los bits (ancho) o de si está utilizando exponencial para representación y así sucesivamente.
Para aclarar mi punto: el arduino no puede enloquecerse, a menos que se lo digas. No utilizará la multiplicación en lugar de la división, ni realizará la operación correcta en números incorrectos, a menos que lo programe para hacerlo. Y realizar millones de cálculos por segundo es un negocio difícil incluso para chips mucho más rápidos y potentes.