[GRULIC] [OT] La manera mas eficiente de contar la cantidad …

Inizio della pagina
Allegati:
+ (text/plain)

Reply to this message
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).

Alguien tiene idea?

Saludos,
damian.