1. Bitsel &operatör

Daha önce tüm verilerin ikili gösterimde bellekte saklandığını söylemiştik. Oldukça uzun zaman önce, programcılar ikili sayılarla çalışmanın birçok ilginç yolunu buldular. Örneğin Java, bir sayının ikili temsilinin bitleri üzerinde çalışan mantıksal işleçlere sahiptir: &(VE), | (OR), ~(DEĞİL veya tümleyen) ve ^(XOR - özel veya).

a & b
Bitsel &(AND) operatörü

Bu işleç, mantıksal (AND) işlecine çok benzer &, yalnızca iki değil, tek bir ve işaretiyle gösterilir:

Ve bireysel bitlere uygulanır. Her işlenen bir bit dizisi olarak ele alınır ve isonucun inci biti, iiki işlenenin her birinin inci biti kullanılarak hesaplanır.

Sonucun ilk biti, sayının birinci biti a ve sayının ilk biti temel alınarak b, ikinci bit - sayının ikinci biti a ve sayının ikinci biti bvb. temel alınarak hesaplanacaktır.

(AND) operatörü &, "sonuçtaki bit, yalnızca sayının karşılık gelen biti bire eşitse, asayının ANDkarşılık gelen biti bbire eşittir" anlamına gelir:

1 & 1 = 1
1 & 0 = 0
0 & 1 = 0
0 & 0 = 0

Örnekler:

Örnek Sonuç
0b0011 & 0b1010
0b0010
0b1111 & 0b0000
0b0000
0b1010 & 0b0101
0b0000
0b1111 & 0b1010
0b1010

2. Bitsel |operatör

Bu işleç, mantıksal (OR) işlecine çok benzer |, yalnızca tek bir dikey çizgi ile gösterilir, iki değil:

a | b

Ve bireysel bitlere uygulanır. Her işlenen bir bit dizisi olarak ele alınır ve sonucun i. biti, iki işlenenin her birinin i. biti kullanılarak hesaplanır.

Bitsel |(OR) operatörü, "sayının karşılık gelen biti bire eşitse, sonuç biti abire eşittir, ORsayının karşılık gelen biti bbire eşittir" anlamına gelir:

1 | 1 = 1
1 | 0 = 1
0 | 1 = 1
0 | 0 = 0

Örnekler:

Örnek Sonuç
0b0011 | 0b1010
0b1011
0b1110 | 0b0000
0b1110
0b1010 | 0b0101
0b1111
0b1111 | 0b1010
0b1111

Yalnızca her iki sayının karşılık gelen bitleri (aynı konumdaki bitler) sıfır olduğunda, sonucun karşılık gelen biti sıfıra eşittir.



3. Bitsel ^(XOR veya "özel veya") operatör

Özel veya olarak da telaffuz edilen operatör XOR, simgesiyle gösterilir . Klavyede girmek için shift + 6'ya basın (İngilizce klavye düzeninde).^

a ^ b

ORBu operatör , benzer bir ada sahip olması da dahil olmak üzere operatöre biraz benzer :XOR

Bitsel ^(XOR) operatörü, "sayının karşılık gelen biti bire eşitse, sonuçtaki bit bire aeşittir, ORsayının karşılık gelen biti bbire eşittir, ancak aynı anda ikisi birden değil" anlamına gelir:

1 ^ 1 = 0
1 ^ 0 = 1
0 ^ 1 = 1
0 ^ 0 = 0

Örnekler:

Örnek Sonuç
0b0011 ^ 0b1010
0b1001
0b1110 ^ 0b0000
0b1110
0b1010 ^ 0b0101
0b1111
0b1111 ^ 0b1010
0b0101

Yalnızca her iki sayının karşılık gelen bitleri (aynı konumdaki bitler) farklı olduğunda , sonucun karşılık gelen biti bire eşittir . Bitler aynıysa , elde edilen bit sıfıra eşittir .



4. Bitsel ~(NOT, COMPLEMENT) operatörü

Ne işe yaradığını şimdiden tahmin edebileceğinizi düşünüyorum. Bu işleç, mantıksal (NOT) işlecine çok benzer , ancak ünlem işaretiyle değil yaklaşık! işaretiyle gösterilir :

~a

Bu tekli bir operatördür, yani iki değil, tek bir sayı için geçerlidir. Bu tek işlenenden önce görünür.

Bitsel ~operatör, "sayının karşılık gelen biti sıfırsa elde edilen bit birdir ave sayının karşılık gelen biti abir ise sıfırdır" anlamına gelir:

~1 = 0
~0 = 1

Örnekler:

Örnek Sonuç
~0b0011
0b1100
~0b0000
0b1111
~0b0101
0b1010
~0b1111
0b0000

1Bu işleç sadece to olan biti ve to 0olan bitleri değiştirir .01