Phĩp toân trín bit

Một phần của tài liệu Giáo trình Cơ sở lập trình: Phần 1 (Trang 37 - 39)

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

Một phần của tài liệu Giáo trình Cơ sở lập trình: Phần 1 (Trang 37 - 39)

Tải bản đầy đủ (PDF)

(77 trang)