Waseem6409 Ответов: 2

Преобразование восьмеричного числа в десятичное только с помощью простого кода на Python


я хочу сделать простую программу для преобразования восьмеричного числа только в десятичное

Что я уже пробовал:

я искал в интернете, но не смог получить ответ на свой вопрос

2 Ответов

Рейтинг:
2

OriginalGriff

Мы более чем готовы помочь тем, кто застрял, но это не значит, что мы здесь, чтобы сделать все это для вас! Мы не можем сделать всю работу, вам либо платят за это, либо это часть ваших оценок, и было бы совсем несправедливо, если бы мы сделали все это за вас.

Поэтому нам нужно, чтобы вы сделали работу, и мы поможем вам, когда вы застряли. Это не значит, что мы дадим вам пошаговое решение, которое вы можете сдать!
Начните с объяснения, где вы находитесь в данный момент и каков следующий шаг в этом процессе. Затем расскажите нам, что вы пытались сделать, чтобы этот следующий шаг сработал, и что произошло, когда вы это сделали.


Waseem6409

мне не нужно все,мне нужна только Формула преобразования восьмеричного числа в десятичное, все остальное я могу сделать сам

OriginalGriff

Просто: преобразование восьмеричного числа в двоичное: это тривиально, каждая восьмеричная цифра-это три двоичных бита.
Затем преобразуйте двоичный код в шестнадцатеричный: это тривиально, каждая шестнадцатеричная цифра-это четыре бита из двоичного кода.

Так какая же часть этого доставляет вам проблемы?

Waseem6409

я сделал все,кроме формулы для преобразования,на которой я застрял, как я преобразовал целое число в двоичное, восьмеричное, шестнадцатеричное с помощью встроенной функции, но в этом случае я должен дать коду формулу, мне нужна помощь с этой формулой

OriginalGriff

Итак, что у вас есть в качестве входных данных? Это что, веревка?

Рейтинг:
1

Member 14517556

Преобразование восьмеричного числа в десятичное:
Я бы взял пример, чтобы показать вам это:
Восьмеричное число: 123
умножьте цифру в сотых местах на 8^2
умножьте цифру в десятом месте на 8^1
и умножьте цифру в нулевом месте на 8^0
и добавьте их все 64*1+8*2+1*3 = 83.

# Function to convert 
# octal to decimal 
def octalToDecimal(n): 
      
    num = n; 
    dec_value = 0; 
  
    # Initializing base value 
    # to 1, i.e 8^0 
    base = 1; 
  
    temp = num; 
    while (temp): 
  
        # Extracting last digit 
        last_digit = temp % 10; 
        temp = int(temp / 10); 
  
        # Multiplying last digit 
        # with appropriate base 
        # value and adding it  
        # to dec_value 
        dec_value += last_digit * base; 
  
        base = base * 8; 
  
    return dec_value; 


Я также прилагаю код, но он использует функции. я бы рекомендовал вам обратиться к нему после того, как вы его попробовали, а также попробовать это с помощью простых циклов или около того. Позже я также попытаюсь разделить этот подход.