Autore: Damian Nadales Data: To: Oggetto: [GRULIC] [OT] La manera mas eficiente de contar la cantidad de
digitos de un numero
Gente,
Un amigo (que tambien esta en esta lista) me planteo el problema de contar la
cantidad de digitos de un numero de manera eficiente.
Hace mucho tuve el mismo problema (en aquel tiempo programaba en IDL), y use
la formula (ahora traducida a C):
(int) floor(log10((double) x)) + 1 /* x es de tipo entero */
Pero me pregunto si el algoritmo que divide por 10 reiteradamente el
numero no funciona de modo mas eficiente. Mi conocimiento de C no es
demasiado, por tanto no conozco el tiempo (complejidad asimptotica) que
insumen los casts y las funciones matem'aticas usadas (no se si en ciertas
arquitecturas se implementan por hardware).