Hướng dẫn python set bit - Python set bit

Hướng dẫn sử dụng toán tử thao tác bit trong python, hay còn gọi là toán tử bitwise trong Python hoặc là toán tử Biwter trong Python. Bạn sẽ học được cách viết cũng như cách sử dụng các toán tử thao tác bitwise như AND,OR,NOT,XOR, cũng như phép toán dịch bit trong python sau bài học này.toán tử thao tác bit trong python, hay còn gọi là toán tử bitwise trong Python hoặc là toán tử Biwter trong Python. Bạn sẽ học được cách viết cũng như cách sử dụng các toán tử thao tác bitwise như AND,OR,NOT,XOR, cũng như phép toán dịch bit trong python sau bài học này.

Bit trong python là gì?

Khái niệm bit

Trước khi tìm hiểu về các toán tử thao tác bit trong python, hãy tìm hiểu xem bit là gì nhé.toán tử thao tác bit trong python, hãy tìm hiểu xem bit là gì nhé.

Trong cuộc sống hàng ngày, chúng ta thường sử dụng các số được viết dưới dạng thập phân viết bởi các chữ số từ 0 đến 9. Ví dụ như con được điểm 10, giá yên hôm nay là 20.6 v.v..Tuy nhiên máy tính thì không thể hiểu được nhiều số như vậy. Trong máy tính chỉ có hai trạng thái tồn tại, đó là có dòng điện chạy qua hoặc là không có dòng điện chạy qua mà thôi. Tương ứng với hai trạng thái đó là:
Tuy nhiên máy tính thì không thể hiểu được nhiều số như vậy. Trong máy tính chỉ có hai trạng thái tồn tại, đó là có dòng điện chạy qua hoặc là không có dòng điện chạy qua mà thôi. Tương ứng với hai trạng thái đó là:

  • 0 : không có dòng điện chạy qua : không có dòng điện chạy qua
  • 1 : có dòng điện chạy qua : có dòng điện chạy qua

Máy tính sẽ sử dụng hai số 0 và 1 tương ứng với hai trạng thái ở trên để biểu diễn tất cả các loại dữ liệu thông tin trong máy tính. Và bởi vì máy tính chỉ sử dụng được hai chữ số 0 và 1, nên các số khác 0 hoặc 1 cũng sẽ dùng hai chữ số này để biểu diễn thông qua một số quy tắc..Chúng ta gọi các số mà chỉ được biểu diễn bởi hai số 01 là số nhị phân. Và từng chữ số 0 hoặc 1 sử dụng để biểu diễn số nhị phân được gọi là 1 bit.Nói cách khác, bit là đơn vị dữ liệu nhỏ nhất để biểu diễn số nhị phân trong máy tính.bit cũng là đơn vị dữ liệu nhỏ nhất để biểu diễn tất cả các loại dữ liệu thông tin trong máy tính.tất cả các loại dữ liệu thông tin trong máy tính. Và bởi vì máy tính chỉ sử dụng được hai chữ số 0 và 1, nên các số khác 0 hoặc 1 cũng sẽ dùng hai chữ số này để biểu diễn thông qua một số quy tắc..
Chúng ta gọi các số mà chỉ được biểu diễn bởi hai số 01số nhị phân. Và từng chữ số 0 hoặc 1 sử dụng để biểu diễn số nhị phân được gọi là 1 bit.
Nói cách khác, bit là đơn vị dữ liệu nhỏ nhất để biểu diễn số nhị phân trong máy tính.
bit cũng là đơn vị dữ liệu nhỏ nhất để biểu diễn tất cả các loại dữ liệu thông tin trong máy tính.

Khái niệm bit trong python cũng tương tự như trên, bit là đơn vị dữ liệu nhỏ nhất để biểu diễn tất cả các loại dữ liệu thông tin trong máy tính. Để xử lý bit, chúng ta sẽ cần dùng các toán tử thao tác bit trong python mà bạn sẽ được học ở phần dưới đây. cũng tương tự như trên, bit là đơn vị dữ liệu nhỏ nhất để biểu diễn tất cả các loại dữ liệu thông tin trong máy tính. Để xử lý bit, chúng ta sẽ cần dùng các toán tử thao tác bit trong python mà bạn sẽ được học ở phần dưới đây.

Ứng dụng của bit trong python

Không giới hạn trong python, ở trong khoa học máy tính, chúng ta có thể ứng dụng bit ở rất nhiều công việc khác nhau:

  • Quản lý trạng thái game [Thông thường, ngủ,trúng độc, trạng thái chiến đấu v.v..]
  • Quản lý trạng thái hệ thống [Chạy, lỗiv.v..]
  • Quản lý trạng thái Lỗi trong chương trình
  • Thao tác với màu RGB
  • Quản lý quyền hạn của file trong Linux
  • Quản lý giá trị phím bấm trong .Net [Shift,Control,Alt…]
  • Xử lý thao tác tìm kiếm….
    ….

Toán tử bitwise trong Python [còn gọi là toán tử Biwter trong Python]

Chúng ta có thể sử dụng 6 toán tử thao tác bit trong python như bảng dưới đây. Lưu ý là chúng chỉ được sử dụng để tính toán với bit mà thôi.

Hãy cùng tìm hiểu sáu toán tử thao tác bit này ở phần dưới đây:

Bảng tổng hợp toán tử thao tác bitwise trong python

x & y AND

10 | 12
----------
10 = 1010
12 = 1100
0 OR
10 | 12
----------
10 = 1010
12 = 1100
1 NOT
10 | 12
----------
10 = 1010
12 = 1100
2 XOR
10 | 12
----------
10 = 1010
12 = 1100
3 Phép toán dịch bit trái
10 | 12
----------
10 = 1010
12 = 1100
4 Phép toán dịch bit phải
10 | 12
----------
10 = 1010
12 = 1100
0 OR
10 | 12
----------
10 = 1010
12 = 1100
1 NOT
10 | 12
----------
10 = 1010
12 = 1100
2 XOR
10 | 12
----------
10 = 1010
12 = 1100
3 Phép toán dịch bit trái
10 | 12
----------
10 = 1010
12 = 1100
4 Phép toán dịch bit phải

Toán tử thao tác bit AND trong python

Toán tử thao tác AND bit so sánh các bit ở cùng vị trí của hai số với nhau, nếu giống nhau thì trả về giá trị 1 và khác nhau thì trả về giá trị 0.Cú pháp AND bit trong python như sau:
Cú pháp AND bit trong python như sau:

x & y

Ví dụ khi sử dụng bit AND để so sánh hai số 10 và 12. Trước hết biểu diễn hai số 10 và 12 dưới dạng số nhị phân.

10 & 12
----------
10 = 1010
12 = 1100

Sau đó so sánh các bit[từng chữ số trong số nhị phân] có cùng vị trí trong hai số với nhau, nếu giống nhau thì trả về 1 và khác nhau thì trả về 0:

101210 & 12
1 1 1
0 1 0
1 0 0
0 0 0

Kết quả chúng ta có số nhị phân

10 | 12
----------
10 = 1010
12 = 1100
6 chính là số
10 | 12
----------
10 = 1010
12 = 1100
7 trong hệ thập phân.

Toán tử thao tác OR bit trong python

Toán tử thao tác OR bit so sánh các bit ở cùng vị trí của hai số với nhau, và chỉ cần một trong hai bit có giá trị bằng 1 thì trả về giá trị 1, và trả về 0 trong các trường hợp còn lại.Cú pháp OR bit trong python như sau:
Cú pháp OR bit trong python như sau:

10 | 12
----------
10 = 1010
12 = 1100
0

Ví dụ khi sử dụng bit OR để so sánh hai số 10 và 12. Trước hết biểu diễn hai số 10 và 12 dưới dạng số nhị phân.

10 | 12
----------
10 = 1010
12 = 1100

Sau đó so sánh các bit[từng chữ số trong số nhị phân] có cùng vị trí trong hai số với nhau, nếu một trong hai bit có giá trị bằng 1 thì trả về 1, và trả về 0 trong các trường hợp còn lại.

 10|  12 | [10|12]
------------------
| 1 | 1  |   1 |
| 0 | 1  |   1 |
| 1 | 0  |   1 |
| 0 | 0  |   0 |

Kết quả chúng ta có số nhị phân

10 | 12
----------
10 = 1010
12 = 1100
9 chính là số
 10|  12 | [10|12]
------------------
| 1 | 1  |   1 |
| 0 | 1  |   1 |
| 1 | 0  |   1 |
| 0 | 0  |   0 |
0 trong hệ thập phân.

Toán tử thao tác NOT bit trong python

Toán tử thao tác NOT bit trả về giá trị đảo ngược của từng bit trong số. Nếu bit là 0 thì trả về 1 và ngược lại, nếu bit là 1 thì trả về 0.Cú pháp NOT bit trong python như sau:
Cú pháp NOT bit trong python như sau:

10 | 12
----------
10 = 1010
12 = 1100
1

Ví dụ khi sử dụng bit NOT với số 10. Trước hết biểu diễn số 10 dưới dạng số nhị phân.

~10
----------
10 = 1010

Sau đó đảo ngược giá trị của từng bít trong số nhị phân:

10
 10|  12 | [10|12]
------------------
| 1 | 1  |   1 |
| 0 | 1  |   1 |
| 1 | 0  |   1 |
| 0 | 0  |   0 |
2
1 0
0 1
1 0
0 1

Kết quả chúng ta có số nhị phân

 10|  12 | [10|12]
------------------
| 1 | 1  |   1 |
| 0 | 1  |   1 |
| 1 | 0  |   1 |
| 0 | 0  |   0 |
3 chính là số
 10|  12 | [10|12]
------------------
| 1 | 1  |   1 |
| 0 | 1  |   1 |
| 1 | 0  |   1 |
| 0 | 0  |   0 |
4 trong hệ thập phân.

Toán tử thao tác XOR bit trong python

Toán tử thao tác XOR bit so sánh các bit ở cùng vị trí của hai số với nhau, nếu chỉ một trong hai bit có giá trị bằng 1 thì sẽ trả về 1, và trả về 0 trong các trường hợp còn lại
Cú pháp XOR bit trong python như sau:

10 | 12
----------
10 = 1010
12 = 1100
2

Ví dụ khi sử dụng bit XOR để so sánh hai số 10 và 12. Trước hết biểu diễn hai số 10 và 12 dưới dạng số nhị phân.

10 & 12
----------
10 = 1010
12 = 1100

Sau đó so sánh các bit[từng chữ số trong số nhị phân] có cùng vị trí trong hai số với nhau, nếu chỉ một trong hai bit có giá trị bằng 1 thì sẽ trả về 1, và trả về 0 trong các trường hợp còn lại

101210 & 12
1 1 0
0 1 1
1 0 1
0 0 0

Kết quả chúng ta có số nhị phân

 10|  12 | [10|12]
------------------
| 1 | 1  |   1 |
| 0 | 1  |   1 |
| 1 | 0  |   1 |
| 0 | 0  |   0 |
6 chính là số
 10|  12 | [10|12]
------------------
| 1 | 1  |   1 |
| 0 | 1  |   1 |
| 1 | 0  |   1 |
| 0 | 0  |   0 |
7 trong hệ thập phân.

Phép toán dịch bit trong python

Chúng ta sử dụng hai phép toán dịch bit là dịch bit qua trái và dịch bit qua phải trong python.

Khi dịch bit, các số được dịch chuyển qua đầu hoặc đuôi sẽ bị loại bỏ.

Khi dịch chuyển bit qua trái, số 0 sẽ được thêm vào bên phải để lấp chỗ trống để lại.
Phép toán dịch bit qua phải trong python

Phép toán dịch bit qua phải trong python trả về giá trị là một số đã được dịch sang phải số bit đã được chỉ định.

Cú pháp phép toán dịch bit phải trong python như sau:

x >> n

Ví dụ khi sử dụng phép toán dịch bit phải trong python để dịch số 11 sang phải 1 bit. Trước hết biểu diễn số 11 dưới dạng số nhị phân, sau đó dịch số nhị phân qua trái 1 bit như sau:

11 >> 1 1011 = 11 ------------ 0101 = 5 

Kết quả chúng ta có số nhị phân 0101 chính là số 5 trong hệ thập phân.

Tổng kết và thực hành

Trên đây Kiyoshi đã hướng dẫn bạn cách sử dụng toán tử thao tác bit trong python rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành với các ví dụ sau đây.

Và hãy cùng tìm hiểu những kiến thức sâu hơn về python trong các bài học tiếp theo nhé.

Copy
print["10 | 12 = " + str[10 | 12]]
#>> 10 | 12 = 14

print["10 & 12 = " + str[10 & 12]]
#>> 10 & 12 = 8

print["10 ^ 12 = " + str[10 ^ 12]]
#>> 10 ^ 12 = 6

print["~10 = " + str[~10]]
#>> ~10 = -11

print["11 << 2 = " + str[11 << 2]]
#>> 11 << 2 = 44

print["11 >> 1 = " + str[11 >> 1]]
#>> 11 >> 1 = 5

Viết bởi Kiyoshi. Đã đăng ký bản quyền tác giả tại Creativecommons và DMCA

Bài viết liên quan

  • Kiểm tra số chẵn lẻ trong python

  • Chuyển chuỗi thành số trong python

  • Kiểm tra số chính phương trong python

  • Kiểm tra số hoàn hảo trong python

  • Kiểm tra số đối xứng trong python

  • Kiểm tra số nguyên trong python

  • Kiểm tra số nguyên tố trong python

  • Các loại số trong python

Hãy chia sẻ và cùng lan tỏa kiến thức lập trình Nhật Bản tại Việt Nam!

HOME>> python cơ bản - lập trình python cho người mới bắt đầu>>05. số trong python

Bài sau
Chuyển chuỗi thành số trong python
Bài tiếp
Comment trong java
  • Bài viết mới nhất
  • Tách chuỗi trong PHP [explode, preg_split] tháng 9 17, 2022
  • Cắt chuỗi trong PHP [substr, mb_substr] tháng 9 17, 2022
  • Tách chuỗi thành mảng trong PHP [explode] tháng 9 17, 2022
  • Tìm kiếm chuỗi trong PHP [strpos] tháng 9 17, 2022
  • Đếm số lần xuất hiện của ký tự và chuỗi trong chuỗi PHP [substr_count] tháng 9 17, 2022
  • Chuyển chuỗi thành mảng trong PHP [str_split, mb_str_split] tháng 9 17, 2022
  • Tách từng ký tự trong chuỗi PHP [substr, preg_split] tháng 9 17, 2022
  • Xóa ký tự trong chuỗi PHP tháng 9 15, 2022
Profile

Tác giả : Kiyoshi [Chis Thanh]

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.

Bài Viết Liên Quan

Chủ Đề