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
&(AND) operátor
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 ialapjá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 balapján stb.ab
Az &(AND) operátor azt jelenti, hogy "az eredményül kapott bit csak akkor egyenlő eggyel, ha a szám megfelelő bitje aegyenlő eggyel, ANDa szám megfelelő bitje beggyel 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 aegyenlő eggyel, ORa szám megfelelő bitje beggyel 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 XORoperá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 ORoperá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 aegyenlő eggyel, ORa szám megfelelő bitje begyenlő 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 anulla, és nulla, ha a szám megfelelő bitje aegy".
~1 = 0
~0 = 1
Példák:
| Példa | Eredmény |
|---|---|
|
|
|
|
|
|
|
|
1Ez az operátor egyszerűen megváltoztatja a -hoz tartozó biteket és a -hoz 0tartozó biteket .01
GO TO FULL VERSION