Làm thế nào để bạn loại bỏ một con bò khỏi hệ thập lục phân trong python?

Python được biết đến là mạnh mẽ và dễ sử dụng khi nói đến toán học. Cả khả năng gốc và thư viện tháo vát của nó như NumPy, Pandas hoặc Scikit-learning đều cung cấp cho nhà phát triển các công cụ cần thiết để nâng số lượng lớn. Nhưng đôi khi chúng ta cần bước ra ngoài thế giới thập phân và làm việc với một trong những cơ số phổ biến khác

Cơ số là số chữ số mà một hệ thống đếm sử dụng để biểu diễn các giá trị số. Hệ thống số phổ biến nhất là hệ thập phân, còn được gọi là cơ số 10. Ở dạng thập phân, các chữ số 0, 1, 2, 3, 4, 5, 6, 7, 8 và 9 đại diện cho mọi giá trị có thể. Nhưng máy tính và nhà phát triển phần mềm thường cần sử dụng các cơ sở khác

Cách triển khai quy trình làm sạch dữ liệu thành công

Bởi vì bạn không thể đo dữ liệu bẩn

hướng tới khoa học dữ liệu. com

Trong tất cả các hệ thập phân, hệ thập phân mời các hệ nhị phân, thập lục phân và bát phân đến ăn tối nhiều nhất. Những người khác rơi vào loại anh em họ đặc biệt mà bạn tránh khi ở cùng bạn bè. Tuy nhiên, nếu bạn định sử dụng nhị phân, thập lục phân hoặc bát phân, bạn có thể cần phải cải thiện Python của mình. Chúng không sạch sẽ và dễ sử dụng trong Python như cơ sở 10

nhị phân

Nhị phân chỉ sử dụng các chữ số 0 và 1. Từ hai giá trị này, nó có thể chiếm mọi giá trị có thể, giống như hệ thập phân. Bạn có nhớ giá trị địa điểm từ trường tiểu học? . Ở dạng thập phân, mọi vị trí đều tăng theo bội số của mười, nhưng ở dạng nhị phân, mọi vị trí đều tăng theo bội số của hai

Giá trị vị trí cơ sở 10 với các số ví dụ là 10, 100 và 1000

Giá trị vị trí cơ sở 2

Ví dụ: 101 sẽ đại diện cho giá trị là 5

Và 10101 sẽ đại diện cho giá trị 21

Bạn đã bao giờ tự hỏi tại sao mặt nạ mạng con mạng của bạn trông giống như 255. 255. 255. 0?

Chúng tôi có thể đã bắt đầu phần này bằng cách tuyên bố, “Nhị phân chỉ sử dụng 10 chữ số. ” Nếu bạn không hiểu trò đùa, hãy đọc lại phần giải thích về cách thức hoạt động của hệ nhị phân

Trong Python, sử dụng số nhị phân mất nhiều bước hơn so với sử dụng số thập phân. Khi bạn nhập một số nhị phân, hãy bắt đầu bằng tiền tố '0b' (số 0 theo sau là dấu b rất nhỏ)

0b11 giống như nhị phân 11, tương đương với số thập phân 3. Nó không khó, nhưng nó là công việc phụ. Bất cứ khi nào bạn muốn lưu trữ một giá trị nhị phân trong một biến, nó sẽ chuyển đổi nó thành số thập phân cho bạn

number1 = 0b11

Điều này dẫn đến biến number1 lưu trữ giá trị ba. Nó chỉ lưu trữ giá trị mà không cho biết bạn muốn nó được biểu diễn ở dạng nhị phân. Vì vậy, khi bạn truy xuất nó, bạn sẽ nhận được giá trị thập phân là 3. Thành thật mà nói, Python xử lý tất cả các toán tử toán học độc lập với cơ số, nhưng nó luôn trả về cho bạn ở dạng thập phân

“Nhưng nếu tôi muốn các số của mình được trả lại cho tôi ở dạng nhị phân thì sao?”

rất vui vì bạn đã hỏi

Nếu bạn muốn giữ các số trong mã nhị phân của mình một cách nghiêm ngặt, thì đây là một giải pháp

>>> num1 = "0b100"
>>> num2 = "0b110"
>>> mysum = int(num1, 2) + int(num2, 2)
>>> print(bin(mysum))
0b1010

Trong đoạn mã trên, chúng tôi đã bắt đầu bằng cách gán một chuỗi “0b100” cho biến num1. Tiếp theo, chúng tôi đã gán một chuỗi “0b110” cho biến

>>> num1 = 0b100
>>> num2 = 0b110
>>> mysum = num1 + num2
>>> print(bin(mysum))
0. Vì vậy, chúng tôi có hai biến kiểu chuỗi lưu trữ biểu diễn nhị phân của 4 và 6, tương ứng

Tiếp theo, chúng tôi đã thêm hai số. Nhưng khi chúng tôi làm điều đó, chúng tôi đã chuyển đổi từng số thành một số nguyên trong cơ số 10 bằng cách sử dụng hàm int(). Thông thường int() sẽ đưa ra một lỗi cho một chuỗi có một chữ cái trong đó. Bằng cách chỉ định tham số thứ hai là 2, chúng tôi hướng dẫn int() diễn giải chuỗi dưới dạng số nhị phân. Vì vậy, nó vẫn hạnh phúc

Bạn có thể sử dụng tham số thứ hai để chỉ định bất kỳ cơ sở nào từ 2 đến 36. Căn cứ 2 và 36 được bao gồm trong phạm vi

Ảo tưởng về việc đưa ra quyết định dựa trên dữ liệu

Cách làm cho dữ liệu thực sự thúc đẩy các quyết định của bạn

hướng tới khoa học dữ liệu. com

Sau khi chúng ta cộng hai số lại với nhau và lưu kết quả vào

>>> num1 = 0b100
>>> num2 = 0b110
>>> mysum = num1 + num2
>>> print(bin(mysum))
0, chúng ta in ra tổng. Nhưng nó được lưu trữ độc lập với cơ sở. Khi chúng tôi nhớ lại, nó vẫn muốn hiển thị nó cho chúng tôi ở dạng thập phân. Vì vậy, chúng tôi phải nói với Python rằng chúng tôi muốn số của mình ở dạng nhị phân. Sử dụng hàm bin() chuyển đổi giá trị thành nhị phân trước khi in ra màn hình

Đoạn mã trên cung cấp cho bạn một biểu diễn rõ ràng về nhị phân trong Python. Tuy nhiên, bạn cũng có thể sử dụng một phiên bản rút gọn hơn, như thế này

>>> num1 = 0b100
>>> num2 = 0b110
>>> mysum = num1 + num2
>>> print(bin(mysum))

Bạn nhận được kết quả tương tự. Sự khác biệt duy nhất là cách bạn lưu trữ các số trong các biến num1

>>> num1 = 0b100
>>> num2 = 0b110
>>> mysum = num1 + num2
>>> print(bin(mysum))
0. Nếu bạn in một trong hai biến ra màn hình trong ví dụ đầu tiên, bạn sẽ thấy biến đó ở dạng nhị phân mặc dù về mặt kỹ thuật nó là một chuỗi. Trong ví dụ thứ hai, bạn sẽ thấy một số thập phân trừ khi bạn sử dụng bin() để chuyển đổi nó

>>> num1 = "0b100"
>>> print(num1)
"0b100"
>>> num1 = 0b100
>>> print(num1)
4
>>> print(bin(num1))
0b100
Hệ thập lục phân

Thập phân sử dụng mười chữ số, nhị phân sử dụng hai chữ số và thập lục phân sử dụng mười sáu chữ số. Vì chúng tôi chỉ có mười chữ số từ hệ thống thập phân để sử dụng, nên chúng tôi thay thế các chữ cái cho mọi thứ ở trên số chín. Do đó, các chữ số trong hệ thập lục phân là 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E và F. Chúng đại diện từ 0 đến 9, sau đó A có giá trị 10, B có giá trị 11, C có giá trị 12, D có giá trị 13, E có giá trị 14 và F kết thúc bằng giá trị 15. Vì vậy, có mười sáu chữ số trong hệ thập lục phân. Nếu bạn viết nó ở dạng thập lục phân, bạn có thể nói, “Hệ thập lục phân có 10 chữ số. ”

Chờ đợi? . Thành thật mà nói, '10' luôn biểu thị tổng số chữ số trong bất kỳ cơ số nào nếu bạn đang viết số trong hệ thống số tương ứng. Nhưng nó chỉ buồn cười trong hệ nhị phân

Khi biểu thị các số thập lục phân trong Python, hãy thêm tiền tố vào các số bằng '0x'. Ngoài ra, hãy sử dụng hàm hex() để chuyển đổi giá trị sang định dạng thập lục phân cho mục đích hiển thị

Hai mẫu mã thập lục phân của chúng tôi tương tự như mẫu chúng tôi đã sử dụng cho mã nhị phân

>>> hnum1 = "0x10"
>>> hnum2 = "0x10"
>>> myhsum = int(hnum1, 16) + int(hnum2, 16)
>>> print(hnum1)
"0x10"
>>> print(myhsum)
32
>>> print(hex(myhsum))
0x20
>>> hnum1 = 0x10
>>> hnum2 = 0x10
>>> myhsum = hnum1 + hnum2
>>> print(hnum1)
16
>>> print(myhsum))
32
>>> print(hex(myhsum))
0x20
Bát phân

Cuối cùng, điều tương tự cũng xảy ra với bát phân. Bạn có đoán được có bao nhiêu chữ số trong hệ thống số bát phân không? . Phải, bát phân chứa tám chữ số. Và thay vì bin() hoặc hex(), chúng tôi sử dụng oct() để chuyển đổi số thành bát phân trong Python. Chúng tôi đặt trước các số bát phân bằng số 0 theo sau là chữ thường o, chẳng hạn như '0o'

Tám chữ số của bát phân là 0, 1, 2, 3, 4, 5, 6, 7

Hãy sử dụng cùng một mẫu mã ở đây, nhưng chúng ta sẽ sử dụng ký hiệu thích hợp và chức năng chuyển đổi cho bát phân

>>> onum1 = "0o10"
>>> onum2 = "0o10"
>>> myosum = int(onum1, 8) + int(onum2, 8)
>>> print(onum1)
"0o10"
>>> print(myosum)
16
>>> print(oct(myosum))
0o20
>>> onum1 = 0o10
>>> onum2 = 0o10
>>> myosum = onum1 + onum2
>>> print(onum1)
8
>>> print(myosum))
16
>>> print(oct(myosum))
0o20
. Kết luận

Điều tuyệt vời về Python là nó có thể làm gần như mọi thứ trừ công việc giặt giũ của tôi. Và tôi đang làm việc đó

Các bài học rất đơn giản

  • Nhị phân sử dụng bin() và '0b'
  • Hệ thập lục phân sử dụng hex() và '0x'
  • Octal sử dụng oct() và ‘0o’
  • Hàm int() có thể được sử dụng để chuyển đổi số thành số nguyên cơ số 10 từ bất kỳ cơ số nào trong khoảng từ 2 đến 36 bằng cách thay đổi tham số thứ hai. e. g. int(số, 30)

Mặc dù việc sử dụng các cơ số bên ngoài hệ thống thập phân yêu thích của chúng tôi đòi hỏi nhiều nỗ lực hơn một chút, nhưng Python dễ dàng điều chỉnh và trao quyền cho chúng tôi để đi đến nơi chưa có số thập phân nào đi trước đó - vào biên giới cuối cùng của các cơ số khác

Rod Castor giúp các công ty có được phân tích đúng. Anh ấy giúp các tổ chức quốc tế và doanh nghiệp nhỏ cải thiện khả năng phân tích dữ liệu, khoa học dữ liệu, chiến lược công nghệ và nỗ lực lãnh đạo công nghệ của họ. Ngoài công việc tư vấn, Rod còn thích diễn thuyết trước công chúng, giảng dạy và viết lách. Bạn có thể khám phá thêm về Rod và công việc của anh ấy tại rodcastor. com và thông qua danh sách gửi thư của anh ấy