Hallo zusammen,
ich bastle gerade an einem PHP-Skriptchen und habe ein kleines Problem mit der Ausführung einer bitweisen ODER-Operation. Hier mal das Skript (drumherum ist nur HTML):
33 <?php
34
35 $zahl1 = base_convert("01010101",2,10);
36 $zahl2 = base_convert("10101010",2,10);
37 $zahl3 = $zahl1 | $zahl2;
38
39 echo $zahl1."<br>\n";
40 echo $zahl2."<br>\n";
41 echo $zahl3."<br>\n";
42
43 echo base_convert($zahl3,10,2)."\n";
44
45 ?>
In den Zeilen 35 und 36 konvertiere ich die Binärzahlen in Dezimale. Die Ausgaben in Zeile 39 und 40 zeigen, dass dies richtig funktioniert (die dezimalen Werte sind 85 und 170).
Das merkwürdige ist, daß in $zahl3 nach Ausführung der Zeile 37 der Wert 970 steht und damit die Ausgabe von Zeile 43 eine Binärzahl "1111001010" ausgibt. Das ist ja eigentlich nicht möglich, oder?
Interessant ist vielleicht auch, daß die Ausgabe stimmt, wenn ich Zeile 37 durch folgendes ersetze:
37 $zahl3 = 85 | 170;
Dann funktioniert es und die Ausgabe von Zeile 43 ist "11111111".
Kann mir jemand - auch wenn das Posting etwas wirr ist ;-) - weiterhelfen?
Viele Grüsse,
Achim