1. &
Operator pe biți
Am spus anterior că toate datele sunt stocate în memorie într-o reprezentare binară. Deci, cu mult timp în urmă, programatorii au venit cu o mulțime de moduri interesante de a lucra cu numere binare. De exemplu, Java are operatori logici care operează pe biții reprezentării binare a unui număr: &
(ȘI), | (OR)
, ~
(NU sau complement) și ^
(XOR - exclusiv sau).
a & b
&
(ȘI).
Acest operator este foarte asemănător cu &
operatorul logic (ȘI), doar că este notat cu un singur ampersand, nu două:
Și se aplică biților individuali. Fiecare operand este tratat ca o matrice de biți, iar al i
treilea bit al rezultatului este calculat folosind al i
treilea bit al fiecăruia dintre cei doi operanzi.
Primul bit al rezultatului va fi calculat pe baza primului bit al numărului a
și a primului bit al numărului b
, al doilea bit - pe baza celui de-al doilea bit al numărului a
și al doilea bit al numărului b
etc.
Operatorul &
(ȘI) înseamnă „bitul rezultat este egal cu unu numai dacă bitul corespunzător al numărului a
este egal cu unul, AND
bitul corespunzător al numărului b
este egal cu unu”:
1 & 1 = 1
1 & 0 = 0
0 & 1 = 0
0 & 0 = 0
Exemple:
Exemplu | Rezultat |
---|---|
|
|
|
|
|
|
|
|
2. |
Operator pe biți
Acest operator este foarte asemănător cu |
operatorul logic (SAU), doar că este notat printr-o singură linie verticală, nu două:
a | b
Și se aplică biților individuali. Fiecare operand este tratat ca o matrice de biți, iar al-lea bit al rezultatului este calculat folosind al-lea bit al fiecăruia dintre cei doi operanzi.
Operatorul pe biți |
(SAU) înseamnă „bitul rezultat este egal cu unu dacă bitul corespunzător al numărului a
este egal cu unul, OR
bitul corespunzător al numărului b
este egal cu unu”:
1 | 1 = 1
1 | 0 = 1
0 | 1 = 1
0 | 0 = 0
Exemple:
Exemplu | Rezultat |
---|---|
|
|
|
|
|
|
|
|
Doar atunci când biții corespunzători (biții din aceeași poziție) ai ambelor numere sunt zero, bitul corespunzător rezultatului este egal cu zero.
3. ^
Operator pe biți (XOR sau „exclusiv sau”)
Operatorul XOR
, pronunțat și exclusiv sau , este notat prin ^
simbol. Pentru a o introduce pe tastatură, apăsați shift + 6 (pe un aspect de tastatură engleză).
a ^ b
Acest operator este oarecum similar cu OR
operatorul, inclusiv prin aceea că are un nume similar:XOR
Operatorul pe biți ^
(XOR) înseamnă „bitul rezultat este egal cu unu dacă bitul corespunzător al numărului a
este egal cu unul, OR
bitul corespunzător al numărului b
este egal cu unul, dar nu ambele în același timp”:
1 ^ 1 = 0
1 ^ 0 = 1
0 ^ 1 = 1
0 ^ 0 = 0
Exemple:
Exemplu | Rezultat |
---|---|
|
|
|
|
|
|
|
|
Doar atunci când biții corespunzători (biții din aceeași poziție) ai ambelor numere sunt diferiți , bitul corespunzător rezultatului este egal cu unu . Dacă biții sunt aceiași , bitul rezultat este egal cu zero .
4. ~
Operator pe biți (NU, COMPLEMENT).
Cred că deja poți ghici ce face. Acest operator este foarte asemănător cu !
operatorul logic (NOT), dar este notat cu un tilde , nu cu un semn de exclamare:
~a
Acesta este un operator unar , ceea ce înseamnă că se aplică unui singur număr, nu doi. Apare înaintea acestui singur operand.
Operatorul pe biți ~
înseamnă „bitul rezultat este unu dacă bitul corespunzător al numărului a
este zero și este zero dacă bitul corespunzător al numărului a
este unul”:
~1 = 0
~0 = 1
Exemple:
Exemplu | Rezultat |
---|---|
|
|
|
|
|
|
|
|
Acest operator schimbă pur și simplu biții care sunt 1
către 0
și biții care sunt 0
către 1
.
GO TO FULL VERSION