[identity profile] neonohoret.livejournal.com posting in [community profile] useless_faq
После ВУЗа матиматика успела залечь в спячку где-то далеко на подкорке, но пару месяцев назад в комментариях всплыла тема про системы счисления.


Мне не понятно было тогда и не совсем понятно сейчас, почему при обучении переводу из одной системы в другую используют различные алгоритмы и методы, когда, хотя в случае с десятичной системой всё можно привести к общему виду.
То есть формулу для перевода из любой системы в десятичную из десятичной в любую я на первом курсе вывел на коленке чисто эмперически:


(p и  q - основания систем счисления, [ ] - взятие целой части)

P.S. Алгоритмы, понятное дело, экономят машинное время, но как же красота и завершенность?
From: [identity profile] sanitareugen.livejournal.com
Вы в ней смешиваете числа и их запись.
From: [identity profile] sanitareugen.livejournal.com
Алгоритмы перевода описываются одним абзацем.

Date: 2011-07-15 03:38 pm (UTC)
From: [identity profile] bezhvosta.livejournal.com
с дуба упал, такие вопросы задавать...

Date: 2011-07-15 03:52 pm (UTC)
From: [identity profile] art-kom.livejournal.com
А что такое "b" и что такое "a" в формуле?

Date: 2011-07-15 04:10 pm (UTC)
From: [identity profile] necrothon.livejournal.com
Ну вы прямо как маленький. Это б и а соответственно.

Date: 2011-07-15 04:13 pm (UTC)
From: [identity profile] art-kom.livejournal.com
аааа, понятно. Тогда да, все сходится. Я думаю, таким соусом и формулу вечной молодости с легкостью напишете, на букв так десять, плюс пять мат. знаков а-ля сигма))))))

Date: 2011-07-15 04:43 pm (UTC)
From: [identity profile] samsobipan.livejournal.com
М и 8 завалены набок.

Date: 2011-07-15 05:51 pm (UTC)
From: [identity profile] necrothon.livejournal.com
Это не "М", это рекогнайзер.

Date: 2011-07-15 05:06 pm (UTC)
From: [identity profile] ssimonov3.livejournal.com
Вам мало разъяснений в science_freaks?

Date: 2011-07-15 06:11 pm (UTC)
From: [identity profile] hand-file.livejournal.com
Можно, конечно с вашей помощью догадаться, что этим надо пользоваться вопреки общепринятым правилам.

Date: 2011-07-15 07:02 pm (UTC)
From: [identity profile] zellily.livejournal.com
Начинают обучение с простых вещей ?

Date: 2011-07-16 07:25 am (UTC)
From: [identity profile] aamonster.livejournal.com
Не вижу в вашей формуле красоты и завершённости. Проще говоря, с первого взгляда я её не понимаю, но бросается в глаза множитель (p-q), которому в процессе перевода вроде взяться неоткуда.

Date: 2011-07-16 07:26 am (UTC)
From: [identity profile] aamonster.livejournal.com
А процесс перевода и правда прост и понятен, если у нас есть "просто числа" (т.е. мы умеем выполнять с числами арифметические действия - неважно, как они представлены). Гораздо проще этой формулы.

Date: 2011-07-16 09:15 am (UTC)
From: [identity profile] mercury13-kiev.livejournal.com
Говорю сразу: я не проверял, верна ли формула. Есть два возражения по существу.

Перевод систем счисления бывает двух видов: "любая - родная" и "любая - любая". Под "родной" понимается система, в которой компьютер складывает и умножает - будь она двоичной, фибоначчиевой или ещё какой-то. Первое употребляется чаще: всегда, когда надо вывести десятичное число на экран, вызывается именно процедура перевода чисел из внутреннего формата компьютера в десятичный. Итак, ОДИН: во внутреннем формате нет цифр. И нет команды "вытащить из числа третью цифру". Можно сложить, вычесть, умножить и поделить. Целиком.

ДВА. Теперь поговорим о переводе из любой в любую. Обычно такое, без перевода в родную, делают для очень длинных чисел, которых никакой регистр не вместит. При вычислении по вашей формуле сложность кубическая: для каждой цифры нужно делить на длинное число, операция квадратичная, к тому же программирующаяся очень тяжело. Длина числа вдвое - объём работы в восемь раз. Если сделать наскоком - просто в лоб выполнять операции в одной из систем счисления - нам потребуются совмещённая операция "умножение-сложение" с коротким множителем (long + long*short) и деление с остатком, снова-таки на короткое число. Операции элементарные, а сложность всего лишь квадратичная.

Date: 2011-07-16 09:17 am (UTC)
From: [identity profile] mercury13-kiev.livejournal.com
Пардон, short + long*short. Даже проще!

Date: 2011-07-17 06:51 am (UTC)
From: [identity profile] kazyaffka.livejournal.com
Я дико извиняюсь что встряю в разговор "матиматиков" но "эмперически", а то это некрасиво. (Раз уж пошла красота и завершенность:) )
P.S. Я уж не буду придираться про "не понятно".

Date: 2011-07-17 01:21 pm (UTC)
From: [identity profile] wolff1975.livejournal.com
Слово "эмперически" порадовало. Такая красота и завершённость в нём...