1. Bitenkénti &
operátor
Korábban azt mondtuk, hogy minden adat a memóriában van tárolva bináris reprezentációban. Tehát elég régen a programozók sok érdekes módszert találtak ki a bináris számokkal való munkavégzésre. Például a Java-nak vannak logikai operátorai, amelyek egy szám bináris megjelenítésének bitjein működnek: &
(ÉS), | (OR)
, ~
(NEM vagy komplementer) és ^
(XOR - kizárólagos vagy).
a & b
Ez az operátor nagyon hasonlít a logikai &
(AND) operátorhoz, csak egyetlen „és” jellel van jelölve, nem pedig kettővel:
És ez az egyes bitekre vonatkozik. Minden operandust bittömbként kezelünk, és az eredmény edik bitjét a két operandus edik bitje i
alapján számítjuk ki .i
Az eredmény első bitje a szám első bitje a
és a szám első bitje alapján kerül kiszámításra, a második bit pedig a szám második bitje és a szám második bitje b
alapján stb.a
b
Az &
(AND) operátor azt jelenti, hogy "az eredményül kapott bit csak akkor egyenlő eggyel, ha a szám megfelelő bitje a
egyenlő eggyel, AND
a szám megfelelő bitje b
eggyel egyenlő".
1 & 1 = 1
1 & 0 = 0
0 & 1 = 0
0 & 0 = 0
Példák:
Példa | Eredmény |
---|---|
|
|
|
|
|
|
|
|
2. Bitenkénti |
operátor
Ez az operátor nagyon hasonlít a logikai |
(OR) operátorhoz, csak egyetlen függőleges vonal jelöli, nem pedig kettő:
a | b
És ez az egyes bitekre vonatkozik. Minden operandust bittömbként kezelünk, és az eredmény i-edik bitjét a két operandus mindegyikének i-edik bitje alapján számítjuk ki.
A bitenkénti |
(OR) operátor azt jelenti, hogy "az eredményül kapott bit egyenlő eggyel, ha a szám megfelelő bitje a
egyenlő eggyel, OR
a szám megfelelő bitje b
eggyel egyenlő".
1 | 1 = 1
1 | 0 = 1
0 | 1 = 1
0 | 0 = 0
Példák:
Példa | Eredmény |
---|---|
|
|
|
|
|
|
|
|
Csak akkor, ha mindkét szám megfelelő bitjei (az azonos pozícióban lévő bitek) nullák, akkor az eredmény megfelelő bitje nulla.
3. Bitenkénti ^
(XOR vagy "kizárólagos vagy") operátor
Az XOR
operátort, amelyet exkluzívnak is ejtnek , a szimbólum jelöli ^
. A billentyűzeten történő bevitelhez nyomja meg a Shift + 6 billentyűket (angol billentyűzetkiosztáson).
a ^ b
Ez az operátor némileg hasonlít az OR
operátorhoz, többek között abban is, hogy hasonló a neve:XOR
A bitenkénti ^
(XOR) operátor azt jelenti, hogy "az eredményül kapott bit egyenlő eggyel, ha a szám megfelelő bitje a
egyenlő eggyel, OR
a szám megfelelő bitje b
egyenlő eggyel, de nem mindkettővel egyszerre".
1 ^ 1 = 0
1 ^ 0 = 1
0 ^ 1 = 1
0 ^ 0 = 0
Példák:
Példa | Eredmény |
---|---|
|
|
|
|
|
|
|
|
Csak akkor, ha mindkét szám megfelelő bitjei (az azonos pozícióban lévő bitek) különböznek, az eredmény megfelelő bitje egyenlő eggyel . Ha a bitek megegyeznek , az eredményül kapott bit egyenlő nullával .
4. Bitenkénti ~
(NOT, COMPLEMENT) operátor
Azt hiszem, már sejtheti, mit csinál. Ez az operátor nagyon hasonlít a logikai (NOT) operátorhoz, de tilde!
jelöli , nem felkiáltójel:
~a
Ez egy unáris operátor, ami azt jelenti, hogy egyetlen számra vonatkozik, nem kettőre. Ez az egyetlen operandus előtt jelenik meg.
A bitenkénti ~
operátor azt jelenti, hogy "az eredményül kapott bit egy, ha a szám megfelelő bitje a
nulla, és nulla, ha a szám megfelelő bitje a
egy".
~1 = 0
~0 = 1
Példák:
Példa | Eredmény |
---|---|
|
|
|
|
|
|
|
|
1
Ez az operátor egyszerűen megváltoztatja a -hoz tartozó biteket és a -hoz 0
tartozó biteket .0
1
GO TO FULL VERSION