Hướng dẫn what is a bitwise operator in python? - toán tử bitwise trong python là gì?

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.


Toán tử bitwise là gì?

Nhận xét. BitWise và toán tử (&) so sánh từng bit của toán hạng đầu tiên với bit tương ứng của toán hạng thứ hai. Nếu cả hai bit là 1, bit kết quả tương ứng được đặt thành 1. Nếu không, bit kết quả tương ứng được đặt thành 0.compares each bit of the first operand to the corresponding bit of the second operand. If both bits are 1, the corresponding result bit is set to 1. Otherwise, the corresponding result bit is set to 0.

Ví dụ về toán tử bitwise là gì?

Các loại toán tử bitwise trong C.

Tại sao các nhà khai thác bitwise được sử dụng trong Python?

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.to performing bitwise calculations on integers. The integers are first converted into binary and then operations are performed on bit by bit, hence the name bitwise operators. Then the result is returned in decimal format. Note: Python bitwise operators work only on integers.

Bitwise Xor Python là gì?

Trong Python, XOR là một toán tử bitwise còn được gọi là độc quyền hoặc.Nó là một toán tử logic xuất ra 1 khi một trong hai toán hạng là 1 (một là 1 và một toán tử còn lại là 0), nhưng cả hai không phải là 1, và cả hai không phải là 0. Biểu tượng cho XOR trong Python làTrong toán học, biểu tượng của nó là ''.a bitwise operator that is also known as Exclusive OR. It is a logical operator which outputs 1 when either of the operands is 1 (one is 1 and the other one is 0), but both are not 1, and both are not 0. The symbol for XOR in Python is '^' and in mathematics, its symbol is '⊕'.