![]() |
Zahlenkonvertierung (Was passiert bei dieser Schleife?)
Delphi-Quellcode:
kann mir jemand ganz genau erklären, was hier passiert?
dezimalzahl := Dezimalzahl*2 + pos(UpperCase(dual[i]),zeichen) - 1;
|
Re: was passiert hier genau
Hallo,
Vor dieser Zeile steht wohl irgendwo
Code:
Dieser Wert wird nun benutzt und verdoppelt .
dezimalZahl := 2; //oder was anderes
Wenn du mir nun noch sagst was dual für ein Array ist und was zeichen sein soll, dann kann dir auch geholfen werden. Urba |
Re: was passiert hier genau
Ich würder mal vermuten
Delphi-Quellcode:
und dual ist einfach ein String der eine Dualzahl (Binär) enthält.
zeichen := '01';
Ich vermute mal, das es ein Teil aus der dieser einen Zahlentypumwandlung ist. ... zu Dezimal: (so in etwa sah das doch aus)
Delphi-Quellcode:
zeichen := '0123456789ABCDEF';
T := 2; {2 bis 16 - 2 = Binär / 16 = Hexadezimal} dual := '010101010'; dezimalzahl := 0; for i := 1 to length(dual) do dezimalzahl := Dezimalzahl * T + pos(UpperCase(dual[i]), zeichen) - 1; |
Re: was passiert hier genau
Oh, sorry
Delphi-Quellcode:
var
i,Dezimalzahl : LongInt; sys:byte; dual:String; const zeichen = '0123456789ABCDEF'; begin dual:=(edtdual.Text); sys:=2; Dezimalzahl := 0; if sys in [2..16] then begin for i := 1 to length(dual) do dezimalzahl := Dezimalzahl*sys + pos(UpperCase(dual[i]),zeichen) - 1; end; edtdezimal.Text := IntToStr(Dezimalzahl); |
Re: was passiert hier genau
also, der quellcode da über mir :warn: ist der ganze... und ejz würde ich gerne wissen, was hier
Delphi-Quellcode:
passiert
dezimalzahl := Dezimalzahl*sys + pos(UpperCase(dual[i]),zeichen) - 1;
thx der frosch :dance: |
Re: was passiert hier genau
Hi!
Bitte nicht nach so kurzer Zeit pushen. Wenn jemand ne Antwort weiß, dann wird er sich melden. Ciao fkerber |
Re: was passiert hier genau
Was ist denn daran so schwer zu verstehn?
Dezimalzahl*sys << schiebt einfach die Vorangegangenen Werte eine Stelle weite nach oben pos(UpperCase(dual[i]),zeichen) - 1 << rechnet das Zeichen in eine Zahl um '0' = 0 '1' = 1 ... '9' = 9 'A' = 10 'B' = 11 ... 'F' = 15 Der Rest ist einfachste Mathematik - wie man Binär-, Oktal-, Hexadezimalwerte berechnet solltest du ja wissen :warn: PS: Gute Antworten können auch mal 1-2... Tage dauern. |
Re: was passiert hier genau
Vielen vielen dank!!!
Und entschuldigt bitte meine Eile :oops: , aber ich brauche diese Infos umbedingt für morgen. also noch mal thx :o der frosch |
Re: was passiert hier genau
:warn: Aber ändere bitte umgehend die Überschrift in etwas Aussagekräftiges!
...:cat:... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:08 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