Bát phân trong Python là gì?

Số nguyên có thể được mã hóa theo hệ thập phân [cơ số 10], thập lục phân [cơ số 16], bát phân [cơ số 8] hoặc nhị phân [cơ số 2]

Các số thập lục phân bắt đầu bằng 0x hoặc 0X ở đầu, theo sau là một chuỗi các chữ số thập lục phân [0-9 và A-F]

Các chữ số hex có thể được mã hóa bằng chữ thường hoặc chữ hoa

Chữ số bát phân bắt đầu bằng một 0o hoặc 0O đứng đầu [số 0 và chữ thường hoặc chữ hoa o], theo sau là một chuỗi các chữ số [0-7]

Trong 2. X, chữ bát phân cũng có thể được mã hóa chỉ với số 0 đứng đầu, nhưng không phải trong 3. X

Dạng bát phân ban đầu này được thay thế bằng định dạng 0o mới, cũng có thể được sử dụng trong 2. X kể từ ngày 2. 6

Chữ nhị phân bắt đầu bằng 0b hoặc 0B đứng đầu, theo sau là các chữ số nhị phân [0-1]

Tất cả những chữ này tạo ra các đối tượng số nguyên trong mã chương trình;

Hệ thập phân là hệ thống số được sử dụng rộng rãi nhất. Trong khi máy tính chỉ hiểu nhị phân và hệ nhị phân, hệ bát phân và hệ thập lục phân có liên quan chặt chẽ với nhau, vì vậy chúng tôi có thể yêu cầu chuyển đổi hệ thập phân sang các hệ này

Phạm vi

  • Trong bài viết này, chúng ta sẽ tìm hiểu cách chuyển thập phân sang bát phân trong python và hiển thị nó
  • Bài viết này sẽ giải thích việc chuyển đổi một số thập phân thành biểu diễn bát phân của nó bằng cách sử dụng các phương thức lặp, đệ quy và tích hợp sẵn trong python

Giới thiệu

Giả sử chúng ta được cung cấp một số thập phân làm đầu vào và chúng ta cần viết một thuật toán để chuyển đổi số thập phân đã cho thành biểu diễn hệ thống số bát phân của nó, i. e. chuyển đổi số có giá trị cơ bản 10 thành giá trị cơ bản 8. Giá trị cơ sở của một hệ thống số xác định số chữ số được sử dụng để biểu thị một giá trị số

Hệ thống số nhị phân sử dụng hai chữ số 0 và 1, hệ thống số bát phân sử dụng 8 chữ số từ 0-7 và hệ thống số thập phân sử dụng mười chữ số 0-9 để biểu thị bất kỳ giá trị số nào. Một số có tiền tố 0b được coi là nhị phân, 0o được coi là bát phân và 0x là thập lục phân. Ví dụ- 60 = 0b100000 = 0o40 = 0x20

thuật toán

  1. Lưu trữ phần còn lại khi số được chia cho 8 trong một mảng
  2. Bây giờ chia số đó cho 8
  3. Lặp lại hai bước trên cho đến khi số không bằng 0
  4. In mảng theo thứ tự ngược lại ngay bây giờ

Ví dụ

Nếu số thập phân đã cho là 10,

Bước 1. 10 chia 8 dư 2. Do đó, mảng[0] = 2. Bước 2. Chia 10 cho 8. Số mới là 10/8 = 1. Bước 3. Khi chia 1 cho 8 thì dư 1. Do đó, mảng[1] = 1. Bước 4. Chia 1 cho 8. Số mới là 1/8 = 0. Bước 5. Vì số trở thành = 0, chúng ta có thể ngừng lặp lại các bước và in mảng theo thứ tự ngược lại

Do đó, số bát phân tương đương là '12'

Thập phân thành Bát phân trong Python bằng Vòng lặp

Phương pháp phổ biến để tính biểu diễn bát phân của một số thập phân là chia số đó cho 8 cho đến khi nó trở thành 0. Sau khi phép chia kết thúc, chúng tôi in mảng lưu trữ phần còn lại tại mỗi điểm chia theo thứ tự ngược lại

def DecimalToOctal[n]:
    # array to store octal number
    octal = [0] * 100

    # counter for octal digits
    i = 0

    # run until n is 0
    while [n != 0]:
        # Storing Remainder in Octal Array
        octal[i] = n % 8
        # updating value of n to n/8
        n = int[n / 8]
        # Increasing the Counter
        i += 1
 
    # Traversing Octal Array in Reverse Order
    for j in range[i - 1, -1, -1]:
        print[octal[j], end=""]

Gọi hàm

DecimalToOctal[33]

đầu ra

Số lần lặp trong chương trình trên bằng với số bit trong biểu diễn bát phân của số n đã cho, tạo nên Độ phức tạp thời gian. O[log N]

Chúng tôi khởi tạo một mảng khi bắt đầu chương trình để lưu trữ phần còn lại và tạo Độ phức tạp không gian. TRÊN]

Thập phân thành Bát phân trong Python Sử dụng Đệ quy

Khi chúng ta muốn chuyển đổi một số thập phân n thành bát phân bằng cách sử dụng đệ quy, chúng ta phải chuyển thương số [n/8] cho lệnh gọi đệ quy tiếp theo và xuất giá trị còn lại [n%8]

Chúng tôi lặp lại quy trình cho đến khi số giảm xuống 0. Vì đệ quy thực hiện ngăn xếp, phần còn lại sẽ được in theo cách từ dưới lên và chúng tôi nhận được số bát phân tương đương

def DecimalToOctal[n]:
    if[n > 0]:
        # recursively calling on n/8    
        DecimalToOctal[int[n/8]]
        # printing the remainder
        print[n%8, end='']
        
DecimalToOctal[33]

đầu ra

Thập phân thành Bát phân trong Python Sử dụng Độ phức tạp Không gian O[1]

Phương pháp chuyển đổi một số thập phân thành biểu diễn bát phân của nó chia số thập phân cho 8 cho đến khi nó giảm xuống 0. Sau khi phép chia kết thúc, nếu ta xếp các số dư theo thứ tự từ dưới lên thì giá trị kết quả sẽ là số bát phân tương đương

def DecimalToOctal[n]:
 
   octal = 0
   count = 1
   deci = n
 
   while [deci != 0]:
 
      # Decimals Remainder is Calculated
      remainder = deci % 8
 
      # Storing the Octalvalue
      octal += remainder * count
 
      # Storing Exponential Value
      count = count * 10
      deci = deci // 8
 
   return octal

print[DecimalToOctal[33]]

đầu ra

Thời gian phức tạp. O[log N]

Không có mảng bổ sung nào được tạo để lưu trữ phần còn lại. Đó là lý do tại sao Độ phức tạp không gian. Ô[1]

Trong chương trình trên, chúng tôi đã khởi tạo số bát phân là bát phân thành 0, đếm thành 1 và biến thập phân là deci thành n. Sau bước này, chúng ta tính phần dư khi số thập phân được chia cho 8, giá trị của bát phân được cập nhật bởi octalNum + [số dư * số đếm], giá trị của số đếm được tăng lên theo số đếm*10 và cuối cùng là số thập phân deci . Toàn bộ quá trình chạy cho đến khi biến số thập phân trở thành số không

Thập phân thành Bát phân trong Python Sử dụng oct[]

Phương thức Python tích hợp oct[] trả về biểu diễn bát phân tương đương của số thập phân được truyền dưới dạng tham số. Hàm oct[] trả về một số bát phân ở dạng 0oxyz, trong đó xyz là giá trị bát phân thực

cú pháp

Cú pháp của oct[] là

Thông số

Hàm oct[] nhận một tham số duy nhất. Tham số này có thể là một số nguyên [nhị phân, thập phân hoặc thập lục phân]

Giá trị trả về

Hàm oct[] trả về một chuỗi bát phân từ số nguyên đã cho

Hoạt động của oct[] trong Python

đầu ra

Oct[15] ở trên trả về 0o17 làm đầu ra, có nghĩa là giá trị bát phân thực tế cho số thập phân 15 là 17

Mã bát phân là gì?

Bát phân đề cập đến hệ thống đánh số cơ số 8 . Nó xuất phát từ tiếng Latin cho tám. Hệ thống đánh số bát phân sử dụng các chữ số 0-1-2-3-4-5-6-7. Trong môi trường máy tính, nó thường được sử dụng như một biểu diễn ngắn hơn của các số nhị phân bằng cách nhóm các chữ số nhị phân thành ba số.

một số nguyên bát phân là gì?

Bát phân là một hệ thống số trong đó một số được biểu thị theo lũy thừa của 8 . Vì vậy, tất cả các số nguyên có thể được biểu diễn dưới dạng số bát phân. Ngoài ra, tất cả các chữ số trong một số bát phân nằm trong khoảng từ 0 đến 7. Trong java, chúng ta có thể lưu trữ các số bát phân bằng cách chỉ cần thêm 0 trong khi khởi tạo.

Chủ Đề