Autor Beitrag
ManuelGS
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 173

Win XP HE, Suse Linux
D6, D7, D2005 Personal
BeitragVerfasst: Do 08.07.04 19:16 
Hallo!

Ich beschäftige mich gerade ein wenig mit Verschlüsselung und Entschlüsselung und bin jetzt gerade an eine Grenze gestoßen.
Ich möchte gerne in einem Programm die berühmtberüchtigten Bit-Operatoren benutzen, d.h. auf der niedrigsten Ebene eben verschlüsseln.

Wie diese Operatoren in if-konstruktionen verwendet werden, weiß ich;
aber wenn ich jetzt z.B. einen Integer a deklariere und den mit
a:=5 xor 3; belege, dann kommt für mich etwas Unbegreifliches heraus;

Die Frage, die ich nun habe: Wie arbeitet Delphi nun mit Zahlen auf BIT-Ebene? Wandelt es die in bestimmte Bitfolgen um, oder wie funktioniert das?

Wäre dankbar für Antworten.
Manuel
sourcehunter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 482

Win XP | Suse 10.1
Delphi 2005 Pers.
BeitragVerfasst: Do 08.07.04 20:03 
Ich weiß nicht, was du für ein Problem hast, bei mir kommt das richtige Ergebnis raus.

5=101 (2)
3=011 (2)
xor
110 (2)=6

xor ergibt 1, wenn beide Bitwerte unterschiedlich sind und 0, wenn sie gleich sind.

_________________
Linux und OpenSource rulez!
Muetze1
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 346



BeitragVerfasst: Do 08.07.04 21:06 
Moin!

Delphi nutzt die Operationen von der CPU. Und er wandelt auch nix um, da das nur Darstellungsformen sind (Hexadezimal, Dezimal, Oktal, Binär, etc).

MfG
Muetze1
ManuelGS Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 173

Win XP HE, Suse Linux
D6, D7, D2005 Personal
BeitragVerfasst: Fr 09.07.04 19:45 
Danke für die Antworten!
Hab jetzt gecheckt, wo der Fehler war! Ich wusste nicht, dass Delphi Integer in Bitfolgen mit unbegrenzter Größe umwandelt - ich dachte, es wären irgendwie standardmäßig 8, was ja aber nur auf Asc-II zutrifft.

Somit wäre das Problem gelöst.
Danke nochmals
Gruß,
ManuelGS
obbschtkuche
Gast
Erhaltene Danke: 1



BeitragVerfasst: Fr 09.07.04 19:49 
Sie sind keineswegs unbegrenzt und Delphi hat damit eigentlich garnichts zu tun ;-)

Byte, Char etc. haben 8 bits
word, widechar etc. haben 16 bits
dword, integer etc. haben 32 bits

Dabei wandelt Delphi nichts um sondern "sagt" dem Prozessor einfach nur dass er die bits entsprechend verknüpfen soll.