Operator |
oblicza "bit-wise OR" swoich argumentów. Aby to zrozumieć, musisz przekształcić operandy na binarne: tworzy bit "0", jeśli bit nie jest ustawiony w liczbach, i bit "1", jeśli jest ustawiony w którymkolwiek z nich.
Z numerów, wynik 4|1
jest 5 ponieważ:
4 = 100
1 = 001
4|1 = 101 = 5
Bit mądry Operator OR jest związany z "bit-mądry AND" operator &
, która produkuje "0", jeżeli bit nie jest ustawiony w jednej z liczb i bit "1", jeśli jest ustawiony w obu.
Ponieważ operatorzy ci działają na bitowej reprezentacji swoich argumentów, mogą być trudni do zrozumienia, gdy jesteś przyzwyczajony do pracy z liczbami dziesiętnymi (podstawa 10). Poniższa relacja trzyma, co sprawia, że jest łatwy do uzyskania wyniku jednego, gdy masz inne:
a + b = (a|b) + (a&b)
http://docs.oracle.com/javase/tutorial/java/nutsandbolts/op3.html –
1 musi być własnością, a 4 musi być inną własnością, więc OR używa ich obu. –
@huseyintugrulbuyukisik OP chce wiedzieć, jak dokładnie '|' łączy dwie właściwości. – MathSquared