Phĩp toân Cú phâp Ý nghĩa
~<toan_hang > Đảo bit của tôn hạng & <toan_hangl> &
<toan_hang2>
Phĩp and - Hội trín từng bit tương ứng của hai toân hạng
1 <toan_hangl>
|<toan_hang2>
Phĩp or- Tuyển trín từng bít tương ứng của hai tôn hạng
Phĩp toân Cú phâp Ý nghĩa
A <toan_hangl> A<toan_hang2>
Phĩp tuyển loại trừ xor trín từng bít của hai tôn hạng
« <toan_hangl>
«<toan_hang2>
Phĩp dịch trâi: dịch số bit của toan hangl sang trâi số bit bằng với toan_hang2, thay văo đó lă câc bit 0.
» <toan_hangl>
>xtoan_hang2>
Phĩp dịch phải: dịch sổ bit
của toan hangl sang phải sổ bít bằng với toan_hang2. Chú
ý bit dấu.
Chủ ý: Vì đđy lă phĩp tôn trín bit nín khi thực hiện phĩp tôn nếu
đưa câc giâ trị của biểu thức tính tơn về hệ cơ số 2 thì mới nhìn thấy rõ sự thay đổi. Phĩp toân sẽ thực hiện với từng bit của câc tôn hạng, vă câc tôn hạng phải có kiểu số ngun.
Ví dụ 2.1.16
int X - 5; có giâ trị nhị phđn lă 00000000 00000011 ~x lă: 11111111111111100
X & ~x lă: 0000000 00000000
x|~xlă: 1111111111111111 xA~xlă: 1111111111111111
Ở đđy cần phải chú ý đối với câc phĩp dịch bít. Có hai phĩp dịch bít
lă dịch frâi « vă dịch phải ».
Phĩp dịch bít trâi toan_hangl « toan_hang2 sẽ dịch tuần tự câc
bit của <toan_hangl> sang ưâi số vị trí bằng giâ trị của <toan_hang2>.
Khi dịch 1 bit của toân hạng 1 sang trâi thì bit trâi nhất sẽ bị loại đi, bit
bín phải bit frâi nhất sẽ được đẩy lín vị trí của bit trâi nhất vừa bị loại, bit bín phải cùa bit vừa được đẩy lín sẽ được đẩy lín vị trí của bit đó, cứ
được lấp bằng bit 0. Như vậy dịch trâi toân hạng 1 đi k lần tức lă thực
hiện k lần phĩp dịch trâi 1 bít.
Ví dụ 2.1.17
char a = 12, b; b = a«l; thì b = 24
Vì 12 khi biểu diễn dưới dạng nhị phđn 1B lă 0000 1100. Khi dịch
trâi 1 bit thì kết quả có được sẽ lă dêy nhị phđn 0001 1000 có giâ trị lă 24. Tuy nhiín nếu b=a«8 thì b =0 .
Tóm lại giâ trị của a«k lă: a*2k %2I+vói k lă số bit được dịch vă 1
lă số bit được của a. Phĩp dịch bít phải toanhangl » toan_hang2
tương tự như frín sẽ dịch câc bit của tôn hạng 1 sang phải. Câc bit bín
phải nhất sẽ bị ghi đỉ bởi câc bít bín trâi. Câc bit bín frâi nhất sẽ được điền bằng 0. Tuy nhiín, bit dấu vẫn được bảo toăn khơng bị ảnh hưởng.
Ví dụ 2.1.18
char a - -12, b; b= a»l; thì b = -6