Hướng dẫn binary right shift operator in python - toán tử dịch phải nhị phân trong python

Các toán tử được sử dụng để thực hiện các hoạt động trên các giá trị và biến. Đây là những biểu tượng đặc biệt thực hiện các tính toán số học và logic. Giá trị mà người vận hành hoạt động được gọi là toán hạng. & NBSP;

Bảng nội dung: & nbsp; 

  • Toán tử bitwise: & nbsp;
    • BitWise và toán tử
    • BitWise hoặc toán tử
    • BitWise không phải nhà điều hành
    • Toán tử XOR bitwise
  • Toán tử thay đổi: & nbsp;
    • BitWise phải thay đổi
    • Bitwise trái thay đổi
  • Quá tải toán tử bitwise

Các nhà khai thác bitwise

Trong Python, các toán tử bitwise được sử dụng để thực hiện các tính toán bitwise trên các số nguyên. Các số nguyên trước tiên được chuyển đổi thành nhị phân và sau đó các hoạt động được thực hiện theo từng bit, do đó tên các toán tử bitwise. Sau đó kết quả được trả về ở định dạng thập phân.

Lưu ý: Các nhà khai thác Python bitwise chỉ làm việc trên các số nguyên. Python bitwise operators work only on integers.

NHÀ ĐIỀU HÀNHSỰ MÔ TẢCú pháp
Không có giá trịBitwise vàX & Y.
|Bitwise hoặcx | y
~Bit whole không~ x
^BitWise XORx ^ y
>>BitWise phải thay đổix >>
<Bitwise trái thay đổix <

Hãy cùng hiểu từng người vận hành từng người một và toán tử: Trả về 1 nếu cả hai bit là 1 khác 0. mẫu: & nbsp;
Bitwise AND operator: Returns 1 if both the bits are 1 else 0.
Example: 

a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a & b = 1010
         &
        0100
      = 0000
      = 0 (Decimal)

BitWise hoặc toán tử: Trả về 1 nếu một trong hai bit là 1 khác 0. mẫu: Returns 1 if either of the bit is 1 else 0.
Example:

a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)

BitWise Not Toán tử: Trả về một bổ sung của số. Ví dụ: Ví dụ: Returns one’s complement of the number.
Example:

a = 10 = 1010 (Binary)

~a = ~1010
   = -(1010 + 1)
   = -(1011)
   = -11 (Decimal)

Toán tử BitWise XOR: Trả về 1 nếu một trong các bit là 1 và cái còn lại là 0 khác trả về false.example: Returns 1 if one of the bits is 1 and the other is 0 else returns false.
Example:

a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a ^ b = 1010
         ^
        0100
      = 1110
      = 14 (Decimal)

Python3

a ____10

a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
1

a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
2
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
0
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
4

a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
5
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
6
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
7
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
8

a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
5
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
6
a = 10 = 1010 (Binary)

~a = ~1010
   = -(1010 + 1)
   = -(1011)
   = -11 (Decimal)
1
a = 10 = 1010 (Binary)

~a = ~1010
   = -(1010 + 1)
   = -(1011)
   = -11 (Decimal)
2

a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
5
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
6
a = 10 = 1010 (Binary)

~a = ~1010
   = -(1010 + 1)
   = -(1011)
   = -11 (Decimal)
5
a = 10 = 1010 (Binary)

~a = ~1010
   = -(1010 + 1)
   = -(1011)
   = -11 (Decimal)
6

a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
5
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
6
a = 10 = 1010 (Binary)

~a = ~1010
   = -(1010 + 1)
   = -(1011)
   = -11 (Decimal)
9
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a ^ b = 1010
         ^
        0100
      = 1110
      = 14 (Decimal)
0

Output:  

a & b = 0
a | b = 14
~a = -11
a ^ b = 14

Người vận hành thay đổi

Các toán tử này được sử dụng để thay đổi các bit của một số bên trái hoặc phải do đó nhân hoặc chia số cho hai tương ứng. Chúng có thể được sử dụng khi chúng ta phải nhân hoặc chia số cho hai. & Nbsp; BitWise Shift Shift: chuyển các bit của số sang phải và điền 0 trên các khoảng trống bên trái (điền 1 trong trường hợp số âm) kết quả. Hiệu ứng tương tự khi chia số với một số sức mạnh của hai.example: & nbsp;
Bitwise right shift: Shifts the bits of the number to the right and fills 0 on voids left( fills 1 in the case of a negative number) as a result. Similar effect as of dividing the number with some power of two.
Example: 

Example 1:
a = 10 = 0000 1010 (Binary)
a >> 1 = 0000 0101 = 5

Example 2:
a = -10 = 1111 0110 (Binary)
a >> 1 = 1111 1011 = -5 

Bitwise bên trái Shift: Chuyển các bit của số sang trái và điền 0 trên các khoảng trống bên phải. Hiệu ứng tương tự như nhân số số với một số sức mạnh của hai.example: & nbsp; Shifts the bits of the number to the left and fills 0 on voids right as a result. Similar effect as of multiplying the number with some power of two.
Example: 

Example 1:
a = 5 = 0000 0101 (Binary)
a << 1 = 0000 1010 = 10
a << 2 = 0001 0100 = 20 

Example 2:
b = -10 = 1111 0110 (Binary)
b << 1 = 1110 1100 = -20
b << 2 = 1101 1000 = -40 

Python3

a ____10

a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
1

a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
2
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
0
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
4

a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
5
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
6
a & b = 0
a | b = 14
~a = -11
a ^ b = 14
0
a & b = 0
a | b = 14
~a = -11
a ^ b = 14
1
a & b = 0
a | b = 14
~a = -11
a ^ b = 14
2
a & b = 0
a | b = 14
~a = -11
a ^ b = 14
3

a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
5
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
6
a & b = 0
a | b = 14
~a = -11
a ^ b = 14
6
a & b = 0
a | b = 14
~a = -11
a ^ b = 14
7
a & b = 0
a | b = 14
~a = -11
a ^ b = 14
2
a & b = 0
a | b = 14
~a = -11
a ^ b = 14
3

Người vận hành thay đổi

a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
2
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
0
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
4

Người vận hành thay đổi

a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
5
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
6
Example 1:
a = 5 = 0000 0101 (Binary)
a << 1 = 0000 1010 = 10
a << 2 = 0001 0100 = 20 

Example 2:
b = -10 = 1111 0110 (Binary)
b << 1 = 1110 1100 = -20
b << 2 = 1101 1000 = -40 
5
Example 1:
a = 5 = 0000 0101 (Binary)
a << 1 = 0000 1010 = 10
a << 2 = 0001 0100 = 20 

Example 2:
b = -10 = 1111 0110 (Binary)
b << 1 = 1110 1100 = -20
b << 2 = 1101 1000 = -40 
6
a & b = 0
a | b = 14
~a = -11
a ^ b = 14
2
a & b = 0
a | b = 14
~a = -11
a ^ b = 14
3

Output:  

a >> 1 = 5
b >> 1 = -5
a << 1 = 10
b << 1 = -20

Quá tải toán tử bitwise

Các nhà khai thác bitwiseOperator Overloading.
Below is a simple example of Bitwise operator overloading.

Python3

Trong Python, các toán tử bitwise được sử dụng để thực hiện các tính toán bitwise trên các số nguyên. Các số nguyên trước tiên được chuyển đổi thành nhị phân và sau đó các hoạt động được thực hiện theo từng bit, do đó tên các toán tử bitwise. Sau đó kết quả được trả về ở định dạng thập phân.

Lưu ý: Các nhà khai thác Python bitwise chỉ làm việc trên các số nguyên.

NHÀ ĐIỀU HÀNH

SỰ MÔ TẢ

Cú pháp

Không có giá trị

Bitwise và

a >> 1 = 5
b >> 1 = -5
a << 1 = 10
b << 1 = -20
6
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
00
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
01

X & Y.

|

a >> 1 = 5
b >> 1 = -5
a << 1 = 10
b << 1 = -20
6
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
5
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
6
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
15
a & b = 0
a | b = 14
~a = -11
a ^ b = 14
3

Không có giá trị

Bitwise và

a >> 1 = 5
b >> 1 = -5
a << 1 = 10
b << 1 = -20
6
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
00
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
01

X & Y.

|

Bitwise hoặc

Không có giá trị

Bitwise và

a >> 1 = 5
b >> 1 = -5
a << 1 = 10
b << 1 = -20
6
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
00
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
01

X & Y.

|

a >> 1 = 5
b >> 1 = -5
a << 1 = 10
b << 1 = -20
6
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
5
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
6
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
67
a & b = 0
a | b = 14
~a = -11
a ^ b = 14
3

Không có giá trị

Bitwise và

a >> 1 = 5
b >> 1 = -5
a << 1 = 10
b << 1 = -20
6
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
00
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
01

X & Y.

|

Bitwise hoặc

Không có giá trị

Bitwise và

a >> 1 = 5
b >> 1 = -5
a << 1 = 10
b << 1 = -20
6
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
00
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
01

a 5

a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
03
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
04
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
05
a & b = 0
a | b = 14
~a = -11
a ^ b = 14
3

a >> 1 = 5
b >> 1 = -5
a << 1 = 10
b << 1 = -20
1
a >> 1 = 5
b >> 1 = -5
a << 1 = 10
b << 1 = -20
2
a = 10 = 1010 (Binary)

~a = ~1010
   = -(1010 + 1)
   = -(1011)
   = -11 (Decimal)
13
a >> 1 = 5
b >> 1 = -5
a << 1 = 10
b << 1 = -20
4
a = 10 = 1010 (Binary)

~a = ~1010
   = -(1010 + 1)
   = -(1011)
   = -11 (Decimal)
15

a >> 1 = 5
b >> 1 = -5
a << 1 = 10
b << 1 = -20
6
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
5
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
6
a = 10 = 1010 (Binary)

~a = ~1010
   = -(1010 + 1)
   = -(1011)
   = -11 (Decimal)
19
a & b = 0
a | b = 14
~a = -11
a ^ b = 14
3

a >> 1 = 5
b >> 1 = -5
a << 1 = 10
b << 1 = -20
6a 6
a = 10 = 1010 (Binary)

~a = ~1010
   = -(1010 + 1)
   = -(1011)
   = -11 (Decimal)
23
a >> 1 = 5
b >> 1 = -5
a << 1 = 10
b << 1 = -20
4
a = 10 = 1010 (Binary)

~a = ~1010
   = -(1010 + 1)
   = -(1011)
   = -11 (Decimal)
25

a 2

a = 10 = 1010 (Binary)

~a = ~1010
   = -(1010 + 1)
   = -(1011)
   = -11 (Decimal)
27
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
01010
a = 10 = 1010 (Binary)

~a = ~1010
   = -(1010 + 1)
   = -(1011)
   = -11 (Decimal)
30
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
01

a >> 1 = 5
b >> 1 = -5
a << 1 = 10
b << 1 = -20
1a ____10
a = 10 = 1010 (Binary)

~a = ~1010
   = -(1010 + 1)
   = -(1011)
   = -11 (Decimal)
35
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
1
a & b = 0
a | b = 14
~a = -11
a ^ b = 14
3

a >> 1 = 5
b >> 1 = -5
a << 1 = 10
b << 1 = -20
1
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
2
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
0
a = 10 = 1010 (Binary)

~a = ~1010
   = -(1010 + 1)
   = -(1011)
   = -11 (Decimal)
35
a = 10 = 1010 (Binary)

~a = ~1010
   = -(1010 + 1)
   = -(1011)
   = -11 (Decimal)
42
a & b = 0
a | b = 14
~a = -11
a ^ b = 14
3

a >> 1 = 5
b >> 1 = -5
a << 1 = 10
b << 1 = -20
1
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
5
a = 10 = 1010 (Binary)

~a = ~1010
   = -(1010 + 1)
   = -(1011)
   = -11 (Decimal)
46

a >> 1 = 5
b >> 1 = -5
a << 1 = 10
b << 1 = -20
1
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
5
a = 10 = 1010 (Binary)

~a = ~1010
   = -(1010 + 1)
   = -(1011)
   = -11 (Decimal)
49

a >> 1 = 5
b >> 1 = -5
a << 1 = 10
b << 1 = -20
1
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
5
a = 10 = 1010 (Binary)

~a = ~1010
   = -(1010 + 1)
   = -(1011)
   = -11 (Decimal)
52

a >> 1 = 5
b >> 1 = -5
a << 1 = 10
b << 1 = -20
1
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
5
a = 10 = 1010 (Binary)

~a = ~1010
   = -(1010 + 1)
   = -(1011)
   = -11 (Decimal)
55

a >> 1 = 5
b >> 1 = -5
a << 1 = 10
b << 1 = -20
1
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
5
a = 10 = 1010 (Binary)

~a = ~1010
   = -(1010 + 1)
   = -(1011)
   = -11 (Decimal)
58

a >> 1 = 5
b >> 1 = -5
a << 1 = 10
b << 1 = -20
1
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
5
a = 10 = 1010 (Binary)

~a = ~1010
   = -(1010 + 1)
   = -(1011)
   = -11 (Decimal)
61

Output:  

And operator overloaded
8
Or operator overloaded
14
Xor operator overloaded
8
lshift operator overloaded
40960
rshift operator overloaded
8
Invert operator overloaded
-11

Lưu ý: Để biết thêm về quá tải người vận hành bấm vào đây. To know more about operator overloading click here.


Sự thay đổi đúng nhị phân là gì?

Để phân chia một số, một sự thay đổi nhị phân sẽ di chuyển tất cả các chữ số trong số nhị phân ở bên phải và lấp đầy các khoảng trống sau khi thay đổi với 0: để chia cho hai, tất cả các chữ số thay đổi một vị trí sang bên phải.moves all the digits in the binary number along to the right and fills the gaps after the shift with 0: to divide by two, all digits shift one place to the right.

Điều nào sau đây là toán tử thay đổi đúng

Toán tử thay đổi bên phải (>>) trả về số đã ký được biểu thị bằng kết quả của việc thực hiện sự thay đổi mở rộng dấu của biểu diễn nhị phân của toán hạng đầu tiên (được đánh giá là chuỗi bit bổ sung của hai) ở bên phải theo số lượng bit, modulo32, được chỉ định trong toán hạng thứ hai.

Toán tử nhị phân trong Python là gì?

Khoa học dữ liệu thực tế sử dụng Python.

Nhà điều hành Bitwise hoạt động như thế nào trong Python?

Toán tử dịch chuyển bên phải bitwise trong Python dịch chuyển các bit của biểu diễn nhị phân của số đầu vào sang bên phải bằng một số vị trí cụ thể.Các bit trống được tạo bằng cách thay đổi các bit được lấp đầy bởi 0s.Cú pháp cho sự thay đổi bên phải bitwise là >> n.shifts the bits of the binary representation of the input number to the right side by a specified number of places. The empty bits created by shifting the bits are filled by 0s. The syntax for the bitwise right shift is a >> n.