Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Hilfe bei Codeschnipsel
bti7a1337 - Sa 04.07.09 01:47
Titel: Hilfe bei Codeschnipsel
Hi Leute,
schreibe selber zum ersten mal was bei euch und hoffe ich habe die richtige rubrik erwischt^^
habe bis auf die basics leider nicht viel ahnung von delphi,
muss allerdings einen code umschreiben der ursprünglich in delphi geschrieben ist was bis jezt auch gans gut funktioniert,
allerdings bräuchte ich mal hilfe bei folgender zeile:
Delphi-Quelltext
1: 2: 3: 4:
| for I := 14 downto 0 do begin Value := (V1 shl 8) or DP2[I]; end; |
Value und V1 sind Integer (i selbstverständlich auch)
DP2 ist ein IntegerArray
Meine Frage bezieht sich jezt darauf was genau hier passiert. (vor allem das "or" stört mich)
Es würde mir sehr helfen wenn jemand zahlen für die variablen einsetzen könnte und einmal 2 schleifendurchgänge simuliert
(Die Schleife ist im original auch länger aber sonst ohne verständnissprobleme)
Sry falls das irgendwas total einfaches ist aber konnte mir absolut keinen reim drauf machen nach was ich da suchen sollte ;)
Moderiert von
Narses: Topic aus Algorithmen, Optimierung und Assembler verschoben am Sa 04.07.2009 um 02:00
Narses - Sa 04.07.09 02:06
Moin und :welcome: im Forum!
Delphi-Quelltext
1: 2: 3: 4: 5:
| for I := 14 downto 0 do Value := (V1 shl 8) or DP2[I]; |
cu
Narses
bti7a1337 - Sa 04.07.09 02:31
hey narses, schonmal dickes thx für die schnelle antwort ;)
größtenteils auch alles einleuchtend,
allerdings versteh ich die bedeutung vom or an der stelle nicht
er kann sich ja nicht random aussuchen welchen wert er jezt value zuweist.
muss ja ein kriterium geben nachdem er die linke oder rechte seite nimmt...
HelgeLange - Sa 04.07.09 02:37
Der Inhalt der linken Seite wird Or-verknüpft mit dem Inhalt der rechten Seite, also
(V1 shl 8) das Ergebnis davon wird Or-verknüpft mit DP2[I].
bti7a1337 - Sa 04.07.09 02:58
es wird also aus beiden ein binärstream erstellt und die werden dann miteinander verknüpft
also rein fürs verständniss würde folgende konstellation richtig sein?!
V1..... = 25 = 11001
DP2... = 21 = 10101
Value = 29 = 11101
dann wär ich schon glücklich^^
ffgorcky - Sa 04.07.09 08:31
Also für mich sieht das richtig aus!
Ich bin auf dem Gebiet aber auch noch nicht so bewandert...
Das hieße ja aber, wenn Du dann dort noch irgendwo in Deinem Array DP2 eine 2 (also binäre 10) hättest, dass Du damit auf den mit 5 Binärstellen höchtsen erreichbaren Wert, also
Value = 31 = 11111 kämst.
Reinhard Kern - Sa 04.07.09 11:24
bti7a1337 hat folgendes geschrieben : |
es wird also aus beiden ein binärstream erstellt und die werden dann miteinander verknüpft
also rein fürs verständniss würde folgende konstellation richtig sein?!
V1..... = 25 = 11001
DP2... = 21 = 10101
|
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| for I := 14 downto 0 do begin Value := (V1 shl 8) or DP2[I]; end; |
Gruss Reinhard
bti7a1337 - Sa 04.07.09 21:15
Dangeschööön, dann bin ich zufrieden ;)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 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!