A bitorientált operátorok teszik lehetővé, hogy egy egészen belül bizonyos biteket beállítsunk, vagy kimaszkoljunk.
Táblázat 10-2. Bitorientált operátorok
példa | név | eredmény |
---|---|---|
$a & $b | És | Azon helyeken, ahol mind $a-ban, mind $b-ben '1' volt, az eredményben '1' lesz, egyébként '0'. |
$a | $b | Vagy | Ott lesz '1' az eredmény, ahol vagy $a-ban, vagy $b-ben '1' állt. |
$a ^ $b | Kizáró vagy | Ott lesz '1', ahol vagy $a-ban, vagy $b-ben '1' áll, de csak az egyikben. [Más közelítésben ott lesz '1' az eredmény, ahol különböző bitek álltak $a-ban és $b-ben; megint más közelítésben $a azon bitjei invertálódnak, amely helyeken $b-ben '1' áll (=$b azon bitjeit invertálja, ahol $a-ban '1' áll)] |
~ $a | Nem | $a összes bitjét invertálja |
$a << $b | Eltolás balra | $a bitjeit $b-vel balra tolja (minden tolás 2-vel való szorzást jelent [amíg el nem fogynak a bitek, utolsó helyen előjelbit van ?!]) |
$a >> $b | Eltolás jobbra | $a bitjeit $b-vel jobbra tolja (minden tolás 2-vel való [egész!]osztást jelent [vigyázz! negatív számot inkább ne tolj jobbra!!]) |