Is it normal that after an overflow, the display keeps blinking?
I mean, I can do normal operations and the display keeps blinking until I press the clear button.
I have tried this only on emulators. Not on the real thing.
Yes, a real 15C behaves exactly this way. It's a bit strange behavior, but presumably done to force the user to acknowledge something 'crashed'. Turning off/on also halts the blinking.
Intersestingly, modern computer may have wider exponent range for intermediate calculations.
Code:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv)
{
double x = strtod(argv[1], NULL);
double y = strtod(argv[2], NULL);
printf("x, y = %g, %g\n", x, y);
printf("x/(x*x+y*y) = %g\n", x/(x*x+y*y));
return 0;
}
> test 1e200 1e220
x, y = 1e+200, 1e+220
x/(x*x+y*y) = 1e-240
> test 1e-200 1e-220
x, y = 1e-200, 1e-220
x/(x*x+y*y) = 1e+200
Without the wider exponent range, 1st example underflow to 0, 2nd overflow to Inf
lua> function f(x,y) return x / (x*x+y*y) end
lua> f(1e200, 1e220)
0
lua> f(1e-200, 1e-220)
Inf
see
Problems due to wider expoenent range
Bob Prosperi indicate the two main way to get ride off the erroneous screen blinking conditions by pressing the [← ] key to clear the display or the [ ON ] key to turn off the calculator.
A third way to stop the "blinking" display after overflow is to clear the error flag indicator by typing [CF][ 9 ].
In program, you can also test this specific flag to detect a "crash" and branch to an alternate code.
Oppositely, you can turn on the "blinking screen" by setting flag 9 on to warn the user of a specific situation or suspicious result.