C-Playground/lib/base10.c

17 lines
560 B
C
Executable File

/* Count the number of digits an integer has */
unsigned long long int_count_digits(unsigned long long in) {
unsigned long long largest_digit;
int digit_count = 0;
for (largest_digit = 1; in / largest_digit != 0; largest_digit *= 10)
++digit_count;
return digit_count;
}
/* Expand an integer into an integer whose first unit is 1 followed by a leading trail of 0's*/
unsigned long long int_expand_digits(unsigned long long in) {
int expanded_digit;
for (expanded_digit = 1; in != 1; --in)
expanded_digit *= 10;
return expanded_digit;
}