17 lines
560 B
C
Executable File
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;
|
|
}
|