6

I am dealing with a math example. I need to use 12 digit number for my code. So which datatype should i use, to use the number in my functions?

DesperateCoders
  • 121
  • 1
  • 1
  • 9

4 Answers4

5

If you have a 64-bit integer type, I'd go with that, since it gives you the (18 full digits) range:

−9,223,372,036,854,775,808 to
+9,223,372,036,854,775,807

For other tasks (even bigger integers or massive floating point values), I use GMP, the GNU multi-precision library. It's performance is impressive.

paxdiablo
  • 854,327
  • 234
  • 1,573
  • 1,953
2

you can also use "unsigned long long" with format specifier "llu". It works fine for 12 digit number in C.

unsigned long long i=600851475143;
printf("%llu",i);
Prashant
  • 71
  • 1
  • 10
2

64-bit integers (long, int64_t, unsigned long, uint64_t) should do the trick, or if you need decimals, double or long double.

Delan Azabani
  • 79,602
  • 28
  • 170
  • 210
0

While looking for a library called Bignum I've found this wiki page

hlynur
  • 596
  • 2
  • 7