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; Show
Các nhà khai thác bitwiseTrong 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.
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; 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. 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. 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. a = 10 = 1010 (Binary) b = 4 = 0100 (Binary) a ^ b = 1010 ^ 0100 = 1110 = 14 (Decimal) Python3
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 đổiCá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; 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 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 = 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 = 140 a & b = 0 a | b = 14 ~a = -11 a ^ b = 141 a & b = 0 a | b = 14 ~a = -11 a ^ b = 142 a & b = 0 a | b = 14 ~a = -11 a ^ b = 143 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 = 146 a & b = 0 a | b = 14 ~a = -11 a ^ b = 147 a & b = 0 a | b = 14 ~a = -11 a ^ b = 142 a & b = 0 a | b = 14 ~a = -11 a ^ b = 143 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 = -405 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 = -406 a & b = 0 a | b = 14 ~a = -11 a ^ b = 142 a & b = 0 a | b = 14 ~a = -11 a ^ b = 143 Output: a >> 1 = 5 b >> 1 = -5 a << 1 = 10 b << 1 = -20 Quá tải toán tử bitwiseCác nhà khai thác bitwiseOperator Overloading. Python3Trong 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 = -206 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 = -206 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 = 143 Không có giá trị Bitwise và a >> 1 = 5 b >> 1 = -5 a << 1 = 10 b << 1 = -206 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 = -206 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 = -206 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 = 143 Không có giá trị Bitwise và a >> 1 = 5 b >> 1 = -5 a << 1 = 10 b << 1 = -206 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 = -206 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 = 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 = 143 a >> 1 = 5 b >> 1 = -5 a << 1 = 10 b << 1 = -201 a >> 1 = 5 b >> 1 = -5 a << 1 = 10 b << 1 = -202 a = 10 = 1010 (Binary) ~a = ~1010 = -(1010 + 1) = -(1011) = -11 (Decimal)13 a >> 1 = 5 b >> 1 = -5 a << 1 = 10 b << 1 = -204 a = 10 = 1010 (Binary) ~a = ~1010 = -(1010 + 1) = -(1011) = -11 (Decimal)15 a >> 1 = 5 b >> 1 = -5 a << 1 = 10 b << 1 = -206 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 = 143 a >> 1 = 5 b >> 1 = -5 a << 1 = 10 b << 1 = -206 a 6 a = 10 = 1010 (Binary) ~a = ~1010 = -(1010 + 1) = -(1011) = -11 (Decimal)23 a >> 1 = 5 b >> 1 = -5 a << 1 = 10 b << 1 = -204 a = 10 = 1010 (Binary) ~a = ~1010 = -(1010 + 1) = -(1011) = -11 (Decimal)25
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 = -201 a ____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 = 143 a >> 1 = 5 b >> 1 = -5 a << 1 = 10 b << 1 = -201 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 = 143 a >> 1 = 5 b >> 1 = -5 a << 1 = 10 b << 1 = -201 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 = -201 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 = -201 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 = -201 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 = -201 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 = -201 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 còn lại và sự thay đổi phải trong Python là gì?Toán tử chuyển đổi bên phải của Python hoàn toàn đối diện với toán tử dịch chuyển trái.Sau đó, các bit toán hạng bên trái được di chuyển về phía bên phải trong số lần đã cho.Nói một cách đơn giản, các bit bên phải được loại bỏ.right shift operator is exactly the opposite of the left shift operator. Then left side operand bits are moved towards the right side for the given number of times. In simple terms, the right side bits are removed.
Việc sử dụng >> trong Python là gì?Toán tử so sánh. Toán tử thay đổi trái và phải là gì?Các toán tử dịch chuyển bitwise là toán tử dịch chuyển bên phải (>>), di chuyển các bit của biểu thức loại số nguyên hoặc bảng liệt kê sang phải và toán tử dịch chuyển bên trái (<), di chuyển các bit sang bên tráiright-shift operator ( >> ), which moves the bits of an integer or enumeration type expression to the right, and the left-shift operator ( << ), which moves the bits to the left.
Làm thế nào để bạn thực hiện một sự thay đổi đúng đắn trong Python?Toán tử dịch chuyển bên phải Python bitwise x >> n làm thay đổi biểu diễn nhị phân của số nguyên x bằng các vị trí n sang phải.Nó chèn một bit 0 ở bên trái và loại bỏ bit bên phải nhất.x >> n shifts the binary representation of integer x by n positions to the right. It inserts a 0 bit on the left and removes the right-most bit. |