Raphael: Funktioniersweise Bitoperator

Beitrag lesen

Hallo Leute,

ich versuche gerade Code zu lesen und zu verstehen :

Folgendes ist mir nicht 100% klar:

$schnitt{$id} |= 5;

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

Quasi die rechte Seite soviel bedeutet, wie 5. Bit der 2er Potenz ist gesetzt ?

Was mich wundert :

Wenn ich jetzt ein:

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

Wie ist diese Differenz von 1 zu erklären ?

Hängt das mit der 2^0 zusammen ?

Vielen Dank und Gruß,

Raphael