AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

shr und ^. Was heißt das?

Ein Thema von Koller · begonnen am 28. Sep 2005 · letzter Beitrag vom 28. Sep 2005
Antwort Antwort
Koller

Registriert seit: 22. Mär 2005
59 Beiträge
 
#1

shr und ^. Was heißt das?

  Alt 28. Sep 2005, 16:06
hab folgende procedure
Delphi-Quellcode:
procedure Decode(Source, Target: pointer; Count: longword);
var
   S: PDWORD;
   T: PByte;
   I: longword;
begin
   S := Source;
   T := Target;
   for I := 1 to Count do begin
      T^ := S^ and $ff;
      inc(T);
      T^ := (S^ shr 8) and $ff;
      inc(T);
      T^ := (S^ shr 16) and $ff;
      inc(T);
      T^ := (S^ shr 24) and $ff;
      inc(T);
      inc(S);
   end;
end;
Wozu sind die befehle shr und ^ da?
  Mit Zitat antworten Zitat
Benutzerbild von Ultimator
Ultimator

Registriert seit: 17. Feb 2004
Ort: Coburg
1.860 Beiträge
 
FreePascal / Lazarus
 
#2

Re: shr und ^. Was heißt das?

  Alt 28. Sep 2005, 16:09
shr shiftet einen Wert nach rechts (Gegenstück wäre shl)
S^ in dem Beispiel dereferenziet einen Zeiger.
Also in dem Fall ist S ein Zeiger. Um der Variablen, auf den der Zeiger zeigt, ienen Wert zuzuweisen musst du S^ schreiben, wenn du nur "S := bla" schreiben würdest, würde der Zeiger auf den Speicher an Stelle "bla" zeigen

Ich hoff ich hab das richtig erklärt^^
Julian J. Pracht
  Mit Zitat antworten Zitat
Benutzerbild von Kedariodakon
Kedariodakon

Registriert seit: 10. Sep 2004
Ort: Mönchengladbach
833 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: shr und ^. Was heißt das?

  Alt 28. Sep 2005, 16:10
shr -> Delphi-Referenz durchsuchenLogische (bitweise) Operatoren...
^ -> Delphi-Referenz durchsuchenZeiger-Operatoren...

shr & shl = BitShiftopereationen
^ = Dereferenzierungssymbol

Bye
Christian
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#4

Re: shr und ^. Was heißt das?

  Alt 28. Sep 2005, 16:12
shr und shl Bezeichnet Bitweises verschieben.

1000 shr 1 ergibt 0100 (shr Bitweises Verschieben nach rechts)
0001 shl 1 ergibt 0010 (shl Bitweises Verschieben nach links)
0001 shl 2 ergibt 0100

S^ in dem Beispiel ist ein Zeiger. siehe Delphi-Referenz durchsuchenPointer

// jetzt sind schon zwei rote Kästen da, na ja...
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:11 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz