Hướng dẫn octal to binary python - hệ bát phân sang hệ nhị phân python

Trong bài viết này, tôi đã tạo một số chương trình trong Python, để chuyển đổi số octal được nhập bởi người dùng thành giá trị nhị phân tương đương của nó. Dưới đây là danh sách các chương trình:

  • Octal để sử dụng nhị phân trong khi vòng lặpwhile Loop
  • Sử dụng các phương thức int [] và bin []int[] and bin[] Methods
  • Sử dụng chức năngFunction
  • Sử dụng lớp họcClass

Lưu ý - Trước khi tạo các chương trình này, nếu bạn không biết về các bước được sử dụng để chuyển đổi, thì hãy tham khảo Octal sang Công thức nhị phân và ví dụ để có được mọi thứ cần thiết.Before creating these programs, if you're not aware about steps used for the conversion, then refer to Octal to Binary Formula and Example to get every required things.

Octal để sử dụng nhị phân trong khi vòng lặp

Sử dụng các phương thức int [] và bin []write a Python program to convert octal number to binary using while loop. Here is its answer:

print["Enter the Octal Number: "]
octnum = int[input[]]

rev = 0
chk = 0

while octnum!=0:
    rem = octnum%10
    if rem>7:
        chk = 1
        break
    rev = rem + [rev*10]
    octnum = int[octnum/10]

if chk == 0:
    octnum = rev
    binnum = ""

    while octnum!=0:
        rem = octnum%10
        if rem==0:
            binnum = binnum + "000"
        elif rem==1:
            binnum = binnum + "001"
        elif rem==2:
            binnum = binnum + "010"
        elif rem==3:
            binnum = binnum + "011"
        elif rem==4:
            binnum = binnum + "100"
        elif rem==5:
            binnum = binnum + "101"
        elif rem==6:
            binnum = binnum + "110"
        elif rem==7:
            binnum = binnum + "111"
        octnum = int[octnum/10]

    print["\nEquivalent Binary Value = ", binnum]

else:
    print["\nInvalid Input!"]

Sử dụng chức năng

Sử dụng lớp học723 as octal number and press ENTER key to convert and print its equivalent binary value as shown in the snapshot given below:

Lưu ý - Trước khi tạo các chương trình này, nếu bạn không biết về các bước được sử dụng để chuyển đổi, thì hãy tham khảo Octal sang Công thức nhị phân và ví dụ để có được mọi thứ cần thiết.723 goes like:

  • Để chuyển đổi octal thành số nhị phân trong Python, bạn phải yêu cầu từ người dùng nhập bất kỳ số octal nào, sau đó chuyển đổi số đó thành nhị phân tương đương. Câu hỏi là, viết một chương trình Python để chuyển đổi số octal thành nhị phân bằng cách sử dụng trong khi vòng lặp. Đây là câu trả lời của nó:octnum=723 [entered by user], rev=0, chk=0
  • Đây là mẫu chạy mẫu của nó:while loop] octnum!=0 or 723!=0 evaluates to be true, therefore program flow goes inside the loop. This loop is created to reverse the entered octal number. Because, we've to convert binary equivalent of each and every digit. But using rem = octnum%10 statement, the digit we get is the last digit at first time. Therefore we've reversed the number before conversion
  • Bây giờ cung cấp đầu vào nói 723 dưới dạng số bát phân và nhấn phím ENTER để chuyển đổi và in giá trị nhị phân tương đương của nó như trong ảnh chụp nhanh được đưa ra dưới đây:octnum%10 or 723%10 or 3 gets initialized to rem. So rem=3
  • Việc chạy khô của chương trình ở trên với đầu vào của người dùng 723 đi như:if] rem>7 or 3>7 evaluates to be false, therefore the program flow does not goes inside this if's body. Here we've checked whether any digit is greater than 7 or not. Because 8, 9 are both invalid octal digits
  • Giá trị ban đầu, octnum = 723 [được nhập bởi người dùng], rev = 0, chk = 0rem + [rev*10] or 3 + [0*10] or 3 gets initialized to rev
  • Bây giờ điều kiện [của trong khi vòng lặp] octnum! = 0 hoặc 723! = 0 đánh giá là đúng, do đó luồng chương trình đi vào bên trong vòng lặp. Vòng lặp này được tạo để đảo ngược số octal đã nhập. Bởi vì, chúng tôi đã chuyển đổi nhị phân tương đương với từng chữ số. Nhưng sử dụng câu lệnh REM = OCTNUM%10, chữ số chúng ta nhận được là chữ số cuối cùng. Do đó, chúng tôi đã đảo ngược số trước khi chuyển đổi or int[723/10] or 72 gets initialized to octnum
  • Bên trong vòng lặp, octnum%10 hoặc 723%10 hoặc 3 được khởi tạo thành REM. Vì vậy, rem = 3while loop again with new value of octnum.
  • Bây giờ điều kiện [của nếu] rem> 7 hoặc 3> 7 đánh giá là sai, do đó, luồng chương trình không đi vào bên trong cơ thể nếu điều này. Ở đây chúng tôi đã kiểm tra xem bất kỳ chữ số nào lớn hơn 7 hay không. Bởi vì 8, 9 đều là các chữ số bát phân không hợp lệoctnum!=0 or 72!=0 evaluates to be true again, therefore program flow again goes inside the loop. This process continues until the condition evaluates to be false
  • Bây giờ Rem + [Rev*10] hoặc 3 + [0*10] hoặc 3 được khởi tạo thành Revrev holds its value as 327. Therefore rev=327
  • int [octnum/10] hoặc int [723/10] hoặc 72 được khởi tạo thành octnumchk==0 or 0==0 evaluates to be true, therefore program flow goes inside the loop
  • Lưu lượng chương trình quay trở lại và đánh giá điều kiện trong khi vòng lặp lại với giá trị mới của octnum. or 327 gets initialized to octnum. And "" gets initialized to binnum. That is, a string variable binnum with empty content gets defined
  • Đó là, điều kiện octnum! = 0 hoặc 72! = 0 đánh giá là đúng một lần nữa, do đó luồng chương trình lại đi vào bên trong vòng lặp. Quá trình này tiếp tục cho đến khi điều kiện đánh giá là saiwhile loop] octnum!=0 or 327!=0 evaluates to be true, therefore program flow goes inside the loop
  • Theo cách này, sau khi thoát ra khỏi vòng lặp khi điều kiện của nó đánh giá là sai, biến có thể giữ giá trị của nó là 327. Do đó Rev = 327octnum%10 or 327%10 or 7 gets initialized to rem
  • Bây giờ điều kiện chk == 0 hoặc 0 == 0 đánh giá là đúng, do đó luồng chương trình đi vào bên trong vòng lặprem is 7, therefore the condition of last elif, that is rem==7 or 7==7 evaluates to be true, therefore binnum + "111" or "" + "111" or "111" gets initialized to binnum
  • Rev hoặc 327 được khởi tạo thành octnum. Và "" được khởi tạo thành Binnum. Nghĩa là, một bunnum biến chuỗi có nội dung trống được xác địnhint[octnum/10] or int[327/10 or 32 gets initialized to octnum
  • Bây giờ điều kiện [của vòng trong khi vòng] octnum! = 0 hoặc 327! = 0 đánh giá là đúng, do đó luồng chương trình đi vào bên trong vòng lặpwhile loop [inner] again
  • Và octnum%10 hoặc 327%10 hoặc 7 được khởi tạo thành REMoctnum!=0 or 32!=0 evaluates to be true again, therefore program flow goes inside the loop again. This process continues until the condition evaluates to be false
  • Vì giá trị của REM là 7, do đó, điều kiện của ELIF cuối cùng, đó là REM == 7 hoặc 7 == 7 Đánh giá là đúng, do đó Binnum + "111" hoặc "" + "111" hoặc "111" được khởi tạo đến Binnum
  • Sau đó int [octnum/10] hoặc int [327/10 hoặc 32 được khởi tạo thành octnumbinnum after exiting from the loop

Bây giờ luồng chương trình quay trở lại và đánh giá tình trạng của WHER LOOP [bên trong] một lần nữa

Đó là, điều kiện octnum! = 0 hoặc 32! = 0 đánh giá là đúng một lần nữa, do đó luồng chương trình đi vào bên trong vòng lặp một lần nữa. Quá trình này tiếp tục cho đến khi điều kiện đánh giá là saiint[] and bin[], predefined methods of Python to do the same job as of previous program creating using complete user-defined code. The int[] is used to convert a value passed as its argument to its integer equivalent. Whereas bin[] returns binary equivalent of value passed as its argument.

print["Enter Octal Number: ", end=""]
onum = input[]

bnum = int[onum, 8]
bnum = bin[bnum]

print["\nEquivalent Binary Value =", bnum]

Theo cách này, giá trị octal đã cho được chuyển đổi thành giá trị nhị phân tương đương của nó324:

Bây giờ in giá trị của bunnum sau khi thoát ra khỏi vòng lặpTo skip first two characters, add [2:] just after bnum while printing. That is, replace the following statement:

print["\nEquivalent Binary Value =", bnum]

Octal đến nhị phân bằng int [] và bin []

print["\nEquivalent Binary Value =", bnum[2:]]

Chương trình này sử dụng int [] và bin [], các phương thức python được xác định trước để thực hiện công việc tương tự như chương trình trước đó tạo bằng mã do người dùng xác định hoàn chỉnh. Int [] được sử dụng để chuyển đổi một giá trị được truyền làm đối số của nó thành số nguyên tương đương. Trong khi Bin [] trả về nhị phân tương đương với giá trị được truyền như đối số của nó.

Dưới đây là mẫu chạy mẫu của nó với đầu vào của người dùng 324:The end= is used to skip printing of an automatic newline using print[]

Lưu ý - Để bỏ qua hai ký tự đầu tiên, thêm [2:] chỉ sau khi bnum trong khi in. Nghĩa là thay thế câu lệnh sau:

với tuyên bố được đưa ra dưới đây:OctToBin[] to convert octal to binary. The function takes a number [octal] as its argument and returns its equivalent binary value using int[] and bin[]:

def OctToBin[o]:
    return bin[int[o, 8]]

print["Enter Octal Number: ", end=""]
onum = input[]

bnum = OctToBin[onum]
print["\nEquivalent Binary Value =", bnum[2:]]

Bây giờ đầu ra trông giống như, với cùng một đầu vào của người dùng như chạy mẫu trước:

Lưu ý - End = được sử dụng để bỏ qua việc in một dòng mới tự động bằng print []CodesCracker. Class is an object-oriented feature of Python.

class CodesCracker:
    def OctToBin[self, o]:
        return bin[int[o, 8]]

print["Enter Octal Number: ", end=""]
onum = input[]

obj = CodesCracker[]
bnum = obj.OctToBin[onum]
print["\nEquivalent Binary Value =", bnum[2:]]

Octal đến nhị phân sử dụng chức năngobj of class CodesCracker is created to access its member function, OctToBin[] using dot [.] operator.

Cùng một chương trình bằng các ngôn ngữ khác

  • Java chuyển đổi bát phân sang nhị phân
  • C Chuyển đổi Octal thành nhị phân
  • C ++ chuyển đổi bát phân thành nhị phân

Thử nghiệm trực tuyến Python

«Chương trình chương trình trước đây» Next Program »

Bài Viết Liên Quan

Chủ Đề