Theoretisch müsste es schneller gehen, die Zahl nacheinander mit (Konstanten!) 10, 100, 1000... zu vergleichen, das ergibt auch so viele Berechnungen wie Stellen, aber in jeder Stufe nur eine Subtraktion statt einer Division. Am besten in Assembler als lineare Folge von Compare und Jump-Befehlen.
also
Delphi-Quellcode:
.RADIX 10
CMP EAX,10
JNB Next1
RET 1
Next1: CMP EAX,100
JNB Next2
RET 2
Next2:
usw.
Gruss Reinhard