PDA

View Full Version : Was bedeutet IAND?



Roman Köhler
26-Sep-2011, 04:52 AM
Hallo liebe Leuts,

letzen Drive-Inn wurde ein Problem mit Hilfe eines IAnd-Vergleichs gelöst. Da ich damit noch nie gearbeitet habe, dachte ich, ich schaue zu Hause mal nach, was dieser Operator genau macht.
In der Hilfe steht, dass ein bit-weiser Vergleich stattfindet.

Darunter kann ich mir leider absolut nix vorstellen.

(Bitte keine Antworten, wie man ein Bit mit einem Jever vergleicht. Das weiß ich schon selbst ;-)

GhostShotIV
26-Sep-2011, 06:22 AM
Ein Bit-weiser Vergleich ist, wie der Name vermuten lässt, ein Vergleich, bzw. eine Operation auf Bit Basis.

Ich weiß, die Antwort hilft nicht viel :rolleyes: darum noch ein Beispiel:

Ein Bit-weiser Vergleich von 1 IAnd 2

1 in Bits ist: 01
2 in Bits ist: 10

werden diese beiden Bits nun mit And verglichen kommt dabei 0 raus.

Man vergleicht hierbei die einzelnen Stellen der beiden Bits nach den Regeln
And (beide Teile gleich => 1, sind sie ungleich => 0),
Or (einer der Teile ist 1 => 1, beide Teile 0 => 0) und
XOr (entweder oder. Es darf nur 1 der beiden Stellen 1 sein, dann kommt 1 raus. Bei dem Vergleich 0 XOr 0 kommt 0 raus, da beide gleich sind. Das selbe beim Vergleich 1 XOr 1, wo auch 0 raus kommt. Nur bei 1 XOr 0, bzw. 0 XOr 1 kommt 1 raus)

Also bei unserem Beispiel:

1 0 1
And
2 1 0
= 0 0
rechnet man nun die Bits 00 wieder in Dezimal um gibts 0.

Ich kriegs meistens selbst nicht raus, wann man besser einen Bit-weisen Vergleich verwendet, aber ich hoffe mal die Erklärung ist verständlich genug.

Vincent Oorsprong
26-Sep-2011, 06:43 AM
Matthias,

Bit weise vergleich hauptziel liegt im speichern bereich, ein 32 bit integer kann viele werten behalten.

Roman Köhler
27-Sep-2011, 01:46 AM
OK,

jetzt weiß ich, denke ich, was iand macht. Kann mir zwar keinen Anwendungsbereich in meinen Programmen vorstellen, macht aber nix. Habs bisher nicht gebraucht, wird dann wohl in Zukunft auch so sein.

Danke für Eure Antworten

Brigitte
27-Sep-2011, 04:29 AM
Hallo Roman,

in früheren Zeiten hatte man als Programmentwickler noch den Speicherbedarf eines Programms im Auge zu behalten.
Über 64k hast Du Dich richtig gefreut. Und um sparsam mit Variablen umzugehen packte man mehrere ja/nein Inforamtionen
in einem Byte zusammen, wobei jede Information einem Bit entsprach.

Manchmal mache ich das auch in VDF noch so, obwohl der Speicher keine Rolle mehr spielt.

Gruß
Brigitte

Roman Köhler
27-Sep-2011, 08:14 AM
Hallo Brigitte,

wie schön, dass ich mir hierüber absolut gar keine Gedanken mehr machen muss.
Früher war eben doch nicht alles besser :-)

Dennis Piccioni
27-Sep-2011, 09:47 AM
Ja, auf der Uni habe ich auch Assembly Language gelernt. Es war interessant, aber heut zu Tage ist es nicht sehr praktisch ausser fuer bestimmte Anwendungen die mit wenig Memory arbeiten muessen. Ich denke das solche Anwendungen weniger und weniger werden.