Solución:
El número de dígitos de un entero n
en cualquier base se obtiene trivialmente dividiendo hasta que haya terminado:
unsigned int number_of_digits = 0;
do {
++number_of_digits;
n /= base;
} while (n);
No necesariamente el más eficiente, pero uno de los más cortos y legibles con C ++:
std::to_string(num).length()
Hay una forma mucho mejor de hacerlo
#include<cmath>
...
int size = trunc(log10(num)) + 1
....
funciona para int y decimal
¡Haz clic para puntuar esta entrada!
(Votos: 1 Promedio: 5)