Hướng dẫn base n representation in python - biểu diễn cơ sở n trong python

Mã Python được cung cấp dưới đây chuyển đổi một số nguyên Python thành một chuỗi trong cơ sở tùy ý [từ 2 đến vô cực] và hoạt động theo cả hai hướng. Vì vậy, tất cả các chuỗi được tạo có thể được chuyển đổi trở lại các số nguyên Python bằng cách cung cấp một chuỗi cho N thay vì số nguyên. Mã này chỉ hoạt động trên các số dương theo ý định [trong mắt tôi một số rắc rối về các giá trị âm và các biểu diễn bit của chúng tôi không muốn đào sâu]. Chỉ cần chọn từ mã này những gì bạn cần, muốn hoặc thích, hoặc chỉ có niềm vui khi tìm hiểu về các tùy chọn có sẵn. Phần lớn chỉ có cho mục đích ghi lại tất cả các phương pháp có sẵn khác nhau [ví dụ: Oneliner dường như không nhanh, ngay cả khi được hứa sẽ được].

Tôi thích định dạng đề xuất của Salvador Dali cho các căn cứ lớn vô hạn. Một đề xuất tốt đẹp hoạt động tốt ngay cả đối với các biểu diễn bit nhị phân đơn giản. Lưu ý rằng tham số Pidth = X Padding trong trường hợp chuỗi được định dạng vô hạn = true áp dụng cho các chữ số và không cho toàn bộ số. Dường như, mã xử lý định dạng chữ số Infinitebase chạy nhanh hơn một chút so với các tùy chọn khác - một lý do khác để sử dụng nó?

Tôi không thích ý tưởng sử dụng Unicode để mở rộng số lượng ký hiệu có sẵn cho các chữ số, vì vậy đừng xem mã bên dưới cho nó, bởi vì nó không có ở đó. Thay vào đó, sử dụng định dạng Infinitebase hoặc lưu trữ số nguyên làm byte cho mục đích nén.

    def inumToStr[ N, base=2, width=1, infiniteBase=False,\
    useNumpy=False, useRecursion=False, useOneliner=False, \
    useGmpy=False, verbose=True]:
    ''' Positive numbers only, but works in BOTH directions.
    For strings in infiniteBase notation set for bases 

Bài Viết Liên Quan

Chủ Đề