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?
The smallest 12-digit number is 1 followed by 11 zeros. This number is called one hundred billion. The largest 12-digit number is 9 followed by another 11 nines. This number is called nine hundred ninety-nine billion nine hundred ninety-nine million nine hundred ninety-nine thousand nine hundred ninety-nine.
Sum of digits in a C program allows a user to enter any number, divide that number into individual numbers, and sum those individual numbers. Example 1: Given number = 14892 => 1 + 4 + 8 + 9 + 2 = 24. Sum of digits of a given number “14892” is 24.
The number of digits can be calculated by using log10(num)+1, where log10() is the predefined function in math.
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.
64-bit integers (long, int64_t, unsigned long, uint64_t) should do the trick, or if you need decimals, double or long double.
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);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With