Я использую GCC + терминал для создания массива простых чисел.
Однажды я спросил на #C@irc.freenode.net, но я все еще не понимаю:
Int может хранить значения в 32 битах (таким образом, всего 2 ^ 32 уникальных значения), но массив не может иметь более 2 ^ 24 значений?
Я не уверен, но это Почему 24-разрядные регистры? уже отвечает на мой вопрос?
И означает ли это, что создание массива long int
не решает проблему?Есть ли какой-то (относительно быстрый) способ, которым я могу обойти это, например, использовать int[][]
для хранения этих чисел?Или может быть include или lib для использования произвольного числа байтов для хранения чисел?
int main()
{
int array1[160000];
printf("first array declared fine.\n");
int array2[170000];
int array3[1600000];
printf("first array declared fine.\n");
int array4[1700000];
int array5[16000000];
printf("first array declared fine.\n");
int array6[17000000];
}