A bitorientált operátorok lehetővé teszik egész típusú számok bitjeinek manipulálását, 1-be vagy 0-ba állítását. Két egész típusú szám esetén az egyiket maszkolásra használhatjuk.
A PHP nyelv bitorientált operátorai
Példa | Név | Eredmény |
---|---|---|
$a & $b | És | Ott lesz '1' az eredményben, ahol $a és $b mindegyikében az a bit '1'-es. Minden más biten '0'. |
$a | $b | Vagy | Ott lesz '1' az eredményben, ahol $a és $b közül legalább az egyik azon a bitje '1'-es. Minden más biten '0'. |
$a ^ $b | Kizáró vagy | Ott lesz '1' az eredményben, ahol $a és $b közül csakis pontosan az egyikben '1' állt. Minden más biten '0'. |
~ $a | Nem | $a összes bitjét invertálja |
$a << $b | Eltolás balra | $a bitjeit $b számú bittel balra tolja (minden bitnyi eltolás 2-vel való szorzást jelent |
$a >> $b | Eltolás jobbra | $a bitjeit $b számú bittel jobbra tolja (minden bitnyi eltolás 2-vel való egész-osztást jelent. |
1. példa:
Forráskód
<body>
<h2>Bitorientált operátorok</h2>
<?php
$a = 67; $b = 5; echo '$a = '.decbin($a).' $b = '.decbin($b).'<br>';
echo '$a & $b = '.decbin($a&$b).'<br>';
echo '$a | $b = '.decbin($a|$b).'<br>';
echo '$a ^ $b = '.decbin($a ^$b).'<br>';
echo '$a << $b = '.decbin($a<<$b).'<br>';
echo '$a >> $b = '.decbin($a>>$b).'<br>';
echo '~$a = '.decbin(~$a).'<br>';
?>
</body>
Eredmény*
A példakód letölthető: PHP5_bitorientalt_operatorok.php.zip