I'm afraid you don't understand that correctly. Integral doesn't mean it has to be of type int, integral refers to any number evenly divisible by 1 in general. That's where all the ints get their name. If that was the limit, I'm sure it would've been specified in more direct terms.
LANGUAGE LIMITATIONS - I looked through the language standard a bit, and the only thing I found was that the size-specifier in the brackets must evaluate to a "constant integral value". If I understand that correctly, you should be able to use an unsigned long int, which can hold values up to 4,294,967,295. (4 bytes).