Bit əməliyyatları. Pythonda tam ədədlərin ikilik dərəcələri ilə (bitlərlə) işləmək imkanı vardır. Burada ədədin hər bir biti ayrılıqda götürülür. Belə imkanı təmin etmək üçün bit operatorlarından istifadə olunur. Bit operatorları bəzən dərəcələr üzrə operatorlar da adlanır. Qeyd edək ki, bit operatorları digər müasir proqramlaşdırma dillərində də (C++, Java və s.) mövcuddur. Bit operatorları aşağıdakılardır.
~ – İnversiya (inkar);
& –VƏ (AND) bit operatoru;
| –VƏ YA (OR) bit operatoru
^ –İstisnalı VƏ YA (XOR);
<< , >> –Sağa, sola sürüşmə (sağa, sola bitlərin sayı qədər sürüşmə)
Bu operatorların necə işləməsini misallarla aydınlaşdıraq.
~ operatoru (inversiya). Bu operatordan istifadə zamanı ədəd ədəd oxu üzərində özünə əks olan ədədin -1 qədər sola sürüşməsinə bərabər götürülür.
>>>a = 0b1001 # a = 9 (onluq say sistemində)
>>>b = ~a # b = -10 (onluq say sistemində)
>>>b
-10
>>>c = bin(b) # c = -0b1010 – ikilik say sistemində
>>>c
‘-0b1010’
>>>
>>>a = -0b1001 # a = -9 (onluq say sistemində)
>>>b = ~a # b = 8 (onluq say sistemində)
>>>b
8
>>>c = bin(b) # c = 0b1000 - ikilik say sistemində
‘0b1000’
& operatoru (and). Operator özündən sağdakı və soldakı bitlər ardıcıllığınin elementləri üzərində bir-bir uyğun olaraq məntiqi vurma əməlini yerinə yetirir. Bu zaman aşağıdakı qayda əsas götürülür:
0 & 0 = 0
0 & 1 = 0
1 & 0 = 0
1 & 1 = 1
Məsələn:
| operatoru (or). Operator özündən sağdakı və soldakı bitlər ardıcıllığınin elementləri üzərində bir-bir uyğun olaraq məntiqi toplama əməlini yerinə yetirir. Bu zaman aşağıdakı qayda əsas götürülür:
0 | 0 = 0
0 | 1 = 1
1 | 0 = 1
1 | 1 = 1
Məsələn:
^ operatoru (xor). Operator özündən sağdakı və soldakı bitlər ardıcıllığınin elementləri üzərində bir-bir uyğun olaraq 1+1=0 götürülməklə məntiqi toplama əməlini yerinə yetirir. Yəni: