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; 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 đú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 đúngToá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. |