![]() |
Re: Zahl in einzelne Stellen zerlegen ohne Stringkonvertieru
Zitat:
Delphi-Quellcode:
@himitsu: Findst Du Assembler hier wirklich angebracht?
Function NumberToDigits (aNumber : Cardinal) : TByteArray;
Var n : Integer; Begin n := 0; SetLength (Result, 10); Repeat Result[n] := aNumber mod 10; aNumber := aNumber div 10; Inc (n); Until aNumber = 0; SetLength (Result, n1); End; .. // Beispiel Var B : TByteArray; Begin B := NumberToDigits (1234); // --> B = (4,3,2,1), also B[0] = 4, B[1] = 3 usw ... |
Re: Zahl in einzelne Stellen zerlegen ohne Stringkonvertieru
na OK, die paar Microsekunden machen es dann wohl auch nimmer aus :angel2:
aber im Grunde hätt ich das Ganze dann noch über 'nen statisches Array gemacht. Zitat:
bei aNumber > 0 immer ein Fehld mehr existieren würde und der letzte Wert im Array undeffiniert wär :shock: Na ok, im Prinzip machen unsere Functionen (deine Letzte und Meine) das Selbe (außer einer Divisions-Operation und noch ein paar Sachen bezüglich der Array-Verwaltung weniger) ja und wie gesagt ... Types.TByteDynArray :zwinker:
Delphi-Quellcode:
Function NumberToDigits(aNumber: Cardinal): TByteDynArray;
Var n: Integer; Begin n := 0; SetLength(Result, 10); Repeat Result[n] := aNumber mod 10; aNumber := aNumber div 10; Inc(n); Until aNumber = 0; SetLength(Result, n); End; |
Re: Zahl in einzelne Stellen zerlegen ohne Stringkonvertieru
OT:
Alle Achtung es gibt Leute hier die haben Mathematisch echt was drauf. :thumb: Muss mal gesagt werden. gruss Emil |
Re: Zahl in einzelne Stellen zerlegen ohne Stringkonvertieru
Also der Algorithmus funktioniert nicht korrekt. Die letzte Stelle wird unterschlagen. :(
Habe jetzt den neuesten von himitsu getestet. |
Re: Zahl in einzelne Stellen zerlegen ohne Stringkonvertieru
also bei mir laufen beide Varianten? :gruebel:
also das mir ASM und der der letze Code (wobei der nur des Code von alzaimar #11 ist, nur ohne die Fehler bezüglich dem n1 und des TByteArray) |
Re: Zahl in einzelne Stellen zerlegen ohne Stringkonvertieru
|
Re: Zahl in einzelne Stellen zerlegen ohne Stringkonvertieru
DivMod arbeitet nur mit Word und nicht mit Integer
|
Re: Zahl in einzelne Stellen zerlegen ohne Stringkonvertieru
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz