I'm getting a strange floating point exception. I have:
unsigned long int a;
unsigned long int b;

a is assigned a value of 1356 at some point, and b is assigned a value of 1355 at another point.

Computing a - b gives me a floating point exception. Casting to int doesn't help, and I'm not really sure WHY this is happening.

Any ideas? Tried searching, but most info I could find is pretty specific.