Вопрос
Я имею дело с математическим примером. Мне нужно использовать 12 цифр для моего кода. Так какой DataType я должен использовать, использовать номер в моих функциях?
Решение
64-битные целые числа (long
, int64_t
, unsigned long
, uint64_t
) должен сделать трюк, или если вам нужны десятичные случаи, double
или long double
.
Другие советы
Если у вас есть 64-битный целочисленный тип, я бы пошел с этим, так как он дает вам (18 полных цифр) диапазон:
−9,223,372,036,854,775,808 to
+9,223,372,036,854,775,807
Для других задач (даже большие целые числа или массивные значения плавающих точек), я использую GMP., многоточная библиотека GNU. Это производительность впечатляет.
Вы также можете использовать «Долгого длинного длинного» без знака »с спецификатором формата« LLU ». Работает нормально для 12-значного числа в C.
unsigned long long i=600851475143;
printf("%llu",i);
В поисках библиотеки под названием Bignum я нашел это Wiki Page