![]() |
Aus Integer-Wert bestimmte Stelle extrahieren
Hallo,
stehe gerade voll auf dem schlauch :gruebel: Situation: ich habe einen integer-wert int=0101125 und ich brauche z.b. die 10er stelle (hier =2). gibt es da ne einfache möglichkeit uasser irgendwelche 10er berechnungen? thx schon mal |
Re: Aus Integer-Wert bestimmte Stelle extrahieren
Wie wärs denn mit
Delphi-Quellcode:
wert div Round(IntPow(10, stelle-1)) mod 10
|
Re: Aus Integer-Wert bestimmte Stelle extrahieren
ja das wollte ich eigentlich vermeiden. kann man nicht direkt irgendwie auf das bit zugreifen?
|
Re: Aus Integer-Wert bestimmte Stelle extrahieren
Zitat:
SCRaT //EDIT: Roter Kasten :-) Was Deine zweite Frage angeht bin ich leider überfragt - sorry. |
Re: Aus Integer-Wert bestimmte Stelle extrahieren
@scrat
danke aber das ist nicht wirklich performant :wink: |
Re: Aus Integer-Wert bestimmte Stelle extrahieren
Schon klar, aber von dieser Vorraussetzung war ja nicht die Rede. Es hieß ja nur "einfache Möglichkeit" *ggg* :lol:
Im Ernst: DA kann ich Dir leider nicht weiterhelfen. Vielleicht hat ja jemand einen asm-Code, der dürfte auch relativ schnell sein... Viel Glück noch! SCRaT |
Re: Aus Integer-Wert bestimmte Stelle extrahieren
Die Möglichkeit auf "Bits" zuzugreifen besteht leider nicht - ein Digit eines Int-Wertes in Dezimaldarstellung belegt ca 3,331 Bit. Außer dem vorgeschlagenen Weg geht wohl nichts so einfach..
|
Re: Aus Integer-Wert bestimmte Stelle extrahieren
Hallo ibp,
probier mal das hier: müsste eigentlich recht perfomant sein, jedenfalls performanter als die string version... ;)
Delphi-Quellcode:
Digit muss die Stelle sein also zum Bsp 10er 100er usw...
function GetDigit(Int, Digit: Integer): Integer;
begin Result := Int Mod (Digit * 10); if digit > 10 then Result := Result- (Int mod (Digit div 10)); Result := Result div Digit; end; //Beispielaufruf ShowMessage(inttostr(GetDigit(0101125,10))); mfg phreax |
Re: Aus Integer-Wert bestimmte Stelle extrahieren
was genau hast du vor. anhand folgender Aussage bin ich etwas verwirrt:
Zitat:
|
Re: Aus Integer-Wert bestimmte Stelle extrahieren
@sir vergiss die führende 0 war ein tippfehler beim kloppen auf den nummernblock!
@phreax schau dir mal das beispiel von dax an, die hat nur 4 operationen ;-) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:40 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