Как работать с большим целым числом, нужны библиотеки GMP или что-то еще?
Я хочу, чтобы массив, который имеет элементы, начиная от 0 до 2^32
Как получить эту работу:Работа с большими целыми массивами
#include <stdio.h>
int main(){
unsigned int i,j=0,sz=4294967295;
unsigned int A[sz];
A[j]=0;
for(i=1;i<=sz;i++){
A[i]=A[j]+1 ;
j++;
printf("%u\n",A[i]);
}
return 0;
}
Ошибка: Процесс завершается с возвращаемым значением 3221225725
это, что массив является слишком большим или что-то??
Почему так велика? Я, хотя вы спрашивали о ширине типа, и какое максимальное значение вы можете сохранить 'unsigned int', но почему такой большой массив? Заголовок вопроса вводит в заблуждение. –
@iharob: Я немного смущен этим. Кажется, что ОП умножило пять известных [Фермальные числа] (http://oeis.org/A019434), чтобы получить число, приблизительно равное 2^31. Я не вижу цели этого. – Kevin