Вопрос

Я знаю 75(основание 8) = 61(основание 10), но не могу легко найти формулу для этого.Как преобразовать систему счисления из 8-й в 10-ю?

Это было полезно?

Решение

Чтобы преобразовать любую базу в базу 10, просто выполните следующие действия:

Для каждой цифры в другом основании умножьте это на основание и цифру.Например:

75 (base 8) = 7*8^1 + 5*8^0 = 61 

Работает на любой базе...двоичный, шестнадцатеричный, что угодно, просто сделайте это, и он преобразуется в базу 10.

Другие советы

0 * 85 + 0 * 84 + 0 * 83 + 0 * 82 + 7 * 81 + 5 * 80 = 61

Формула 18 = 110 и 108 = 810.Все остальное можно вывести из этого.

Если у вас есть последовательность цифр по основанию 8, которую вы хотите преобразовать в число по основанию 10, обработайте их слева направо, сохраняя инициализированную сумму равной нулю.Для каждой цифры x установите сумму 8*total+x.После обработки последней цифры общая сумма будет равна десятичной последовательности по основанию 8.

75 по основанию 8 = 5*8^0 + 7*8^1 = 5 + 56 = 61

В общем, чтобы преобразовать число a_1a_2a_3...a_n из основания k в основание 10, используйте формулу:

a_n*k^0 + a_(n-1)*k^1 + ...+ а_1*к^(n-1).

учитывая, что это сайт программирования:

int oct_to_dec = 075;
printf("%d",oct_to_dec);

137461(базис8) = 1 x 8^0 6 x 8^1 4 x 8^2 7 x 8^3 3 x 8^4 1 x 8^5

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top