Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - for i:= 0 to 2^x
lkz633 - So 12.10.03 01:17
Titel: for i:= 0 to 2^x
Hallo,
die Ueberschrift macht es vermutlich schon deutlich, ich moechte eine Schleife bis 2^i laufen lassen.
Alle Versuche schlugen jedoch fehl, da ich immer Extended fuer meine Berechnungen rausbekomme, da immer eine Multiplikation vorkommt.
Auch eine Typumwandlung schlug fehl. Der Wert wird (2^7)+1 nicht uebersteigen.
Was kann ich tun?
Dank und Gruss
lkz633
AndyB - So 12.10.03 01:40
Da der Computer sehr gerne mit 2er Potenzen arbeitet, hat er natürlich auch demensprechende Befehle:
Quelltext
1:
| for i := 0 to (1 shl x) do |
SHL steht für
Shift
Left.
Das funktioniert so:
0000 0001 SHL 1 = 0000 0010
0000 0001 SHL 2 = 0000 0100
0000 0001 SHL 3 = 0000 1000
...
JoelH - So 12.10.03 10:20
Titel: hmm,
in solchen Fällen hilft sehr oft mit round das Ergebnis zur Integer zu machen ;)
maximus - So 12.10.03 11:27
Titel: Re: hmm,
| JoelH hat folgendes geschrieben: |
| in solchen Fällen hilft sehr oft mit round das Ergebnis zur Integer zu machen ;) |
:?: warum integer nach athen tragen :?:
lkz633 - So 12.10.03 12:43
| AndyB hat folgendes geschrieben: |
Quelltext 1:
| for i := 0 to (1 shl x) do |
SHL steht für ShiftLeft.
|
Super, herzlichen Dank, das ist natuerlich die schoenste und eleganteste Loesung. (Vermutlich auch die schnellste??)
Gruss lk633
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!