Me pregunto cómo podría anticipar si la próxima iteración generará un desbordamiento de enteros al calcular el factorial F o no?Anticipar el desbordamiento factorial
Digamos que en cada iteración tengo un int I y el valor máximo es MAX_INT.
Parece una tarea, lo sé. No es. Es solo que me hago preguntas "estúpidas".
Addendum
I aunque sobre, dado un número de bits (la anchura un número entero puede tomar, en bits), podría redondear el número I a la siguiente potencia de dos, y detectar si un cambio hacia izquierda excedería BITS. ¿Pero cómo se vería eso, algorítmicamente?
Esto no es necesariamente una respuesta a su pregunta, así que no lo estoy publicando así, pero puede ser más eficiente codificar estos valores en su programa. No es como si el valor de los factoriales cambiara, y sería bueno tener una configuración de búsqueda como esta en la que se pudiera ver en tiempo constante si el factorial se desbordara o no. – avpx
@avpx: en C++, incluso podría usar plantillas para generar las tablas y el código de búsqueda apropiados para los tamaños de ese compilador para enteros en tiempo de compilación de una manera portátil. – Omnifarious