Quote:
Originally Posted by retina
2^16 = 65536, right?

Quote:
Originally Posted by LaurV
Nope. 16 bits can store a number between 0 and 65535. Why should you bother with negatives? In fact, I explicitly mentioned uint32. Please read again. Here "u" in front of "int" stands for "unsigned".
And for the 13# part, you would need to multiply it by 2, because mersenne classes for k need to be multiple of 4 to have q=2kp+1 be 1 or 7 (mod 8), see discussions in this thread. That's why mfaktc uses 4620 classes (2*11#) and not 2310. This way, you can very fast discard half of the filtered candidates (those which are 3 or 5 (mod 8)) without any test (because they will all be in the same class, which you just ignore), getting things done much faster.

Oups : it is so obvious ... now.
Jacob
Instead of thinking I mishandled a program : I tried first with another number 2*2*2*3*3*5*7*11*13 But must have typed in something else, then deduced from the 18 bits that your number would use more than 16 while 655536 is a known quantity so closely associated with 16 bits ;)
I'd wish somebody deleted that stupid post of mine.