[Tex/LaTex] the maximum integer that can be saved in a LaTeX counter


I am using counters to save positive integers, something like that:


Is there any limit in the value I can save in a counter, in this case mycountervalue? And what is the exact limit?

I do not want to get an unexpected overflow.

Best Answer

The maximum value is the 'usual' 2^31-1 long integer value, as well as the negative range from -2^31, so the full range is 2^32 integers possible.

2^31-1 is 2147483647, which is the largest possible integer usable for counters or \ifnum and \numexpr codes.

In the code below I stored this number to the counter \mycounter and print it several times after using \stepcounter. After the first \stepcounter the register overflows and the number is set to -2147483648, being the 'largest' negative number possible. A subsequent \stepcounter works normally then.

The e-TeX standard extended the limit of 256 registers (count, skip etc.) to 32568 possible registers (for each type)





\themycounter  % prints 2147483647 

\stepcounter{mycounter}  % Now the overflow will occur

\themycounter % prints -2147483648


\themycounter % -2147483647

enter image description here

Related Question