Christian Kruse: Funktioniersweise Bitoperator

Beitrag lesen

Hallo Raphael,

$schnitt{$id} |= 5;

Ist es richtig, daß diese Anweisung dem Hashschlüssel "$id" den Wert 2^5 = 32 zuweist ?

Nein. Du verknüpfst die Bits, die dazu nötig sind, 5 darzustellen (101) mit dem Inhalt
von $schnitt{$id}.

print "$schnitt{$id}" ausgebe, erscheint nur die 31 .

Die Bitmaske ist 11111. Du hast vorher mit 101 ODER-verknüpft, das heisst, du hattest
entweder die ganze Zeit 11111 im Hash oder du hattest 11110 oder du hattest 11011 oder
du hattest 11010 im Hash.

Grüße,
 CK

--
If God had a beard, he'd be a UNIX programmer.