Integer til String og omvend!

Tags:    c++

Hvordan kan man med C++ assembler konventere en Integer til en String ( char String[255] ) og omvendt! Jeg ved godt, hvordan man goer med C++ kode men der maa findes en mere effektiv maade eksempelvis med assembler kode!



4 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Hvordan kan man med C++ assembler konventere en Integer til en String ( char String[255] ) og omvendt! Jeg ved godt, hvordan man goer med C++ kode men der maa findes en mere effektiv maade eksempelvis med assembler kode!

atoi() og lignende funktioner er 1000 år gamle (ca.) og blevet optimeret sønder og sammen. Jeg tvivler på, at du finder en bedre måde, og jeg tvivler endnu mere på, at du får brug for noget bedre end det.



Lav koden i ren C uden brug af nogen funktioner. Få kompileren til at oversætte koden til asm. Studer koden og optimer.

(Men jeg tvivler på at du kan lave noget der er hurtigere end itoa).



Jeg kiggede på assemblyen til atoi() (på Linux) og den kalder strtol().

Her er assembly koden til strtol():
Fold kodeboks ind/udKode 


Den kalder altså videre til __strtol_internal. Den ser således ud:
Fold kodeboks ind/udKode 


Og så mister jeg lidt tråden, men værsgo at optimere :-)



Smid nogle svar drenge!

[Redigeret d. 15/05-05 15:01:19 af Søren Klit Lambæk]



t