http://neonohoret.livejournal.com/ (
neonohoret.livejournal.com) wrote in
useless_faq2011-07-15 05:55 pm
![[identity profile]](https://www.dreamwidth.org/img/silk/identity/openid.png)
![[community profile]](https://www.dreamwidth.org/img/silk/identity/community.png)
Математическое
После ВУЗа матиматика успела залечь в спячку где-то далеко на подкорке, но пару месяцев назад в комментариях всплыла тема про системы счисления.
Мне не понятно было тогда и не совсем понятно сейчас, почему при обучении переводу из одной системы в другую используют различные алгоритмы и методы, когда, хотя в случае с десятичной системой всё можно привести к общему виду.
То есть формулу для перевода из любой системы в десятичную из десятичной в любую я на первом курсе вывел на коленке чисто эмперически:

(p и q - основания систем счисления, [ ] - взятие целой части)
P.S. Алгоритмы, понятное дело, экономят машинное время, но как же красота и завершенность?
Мне не понятно было тогда и не совсем понятно сейчас, почему при обучении переводу из одной системы в другую используют различные алгоритмы и методы, когда, хотя в случае с десятичной системой всё можно привести к общему виду.
То есть формулу для перевода из любой системы в десятичную из десятичной в любую я на первом курсе вывел на коленке чисто эмперически:
(p и q - основания систем счисления, [ ] - взятие целой части)
P.S. Алгоритмы, понятное дело, экономят машинное время, но как же красота и завершенность?
Ну, наверно, оттого, что Ваша формула неверна.
Re: Ну, наверно, оттого, что Ваша формула неверна.
no subject
no subject
no subject
no subject
Это Вам повезло. Или не повезло.
no subject
no subject
no subject
no subject
no subject
no subject
по поводу science_freaks вообще: я же не претендую на изобретение вечного двигателя и новую веху в математике. Я задал исключительно из любопытства вопрос, почему перевод между системами счисления обычно приводится ввиде набора нескольких алгоритмов, когда можно их представить в общем виде. Это даже, блин, не рацпредложение, просто мне нравится эта запись, как более компактная и с её помощью можно осуществлять те же операции.
Re: Это Вам повезло. Или не повезло.
no subject
no subject
no subject
no subject
Перевод систем счисления бывает двух видов: "любая - родная" и "любая - любая". Под "родной" понимается система, в которой компьютер складывает и умножает - будь она двоичной, фибоначчиевой или ещё какой-то. Первое употребляется чаще: всегда, когда надо вывести десятичное число на экран, вызывается именно процедура перевода чисел из внутреннего формата компьютера в десятичный. Итак, ОДИН: во внутреннем формате нет цифр. И нет команды "вытащить из числа третью цифру". Можно сложить, вычесть, умножить и поделить. Целиком.
ДВА. Теперь поговорим о переводе из любой в любую. Обычно такое, без перевода в родную, делают для очень длинных чисел, которых никакой регистр не вместит. При вычислении по вашей формуле сложность кубическая: для каждой цифры нужно делить на длинное число, операция квадратичная, к тому же программирующаяся очень тяжело. Длина числа вдвое - объём работы в восемь раз. Если сделать наскоком - просто в лоб выполнять операции в одной из систем счисления - нам потребуются совмещённая операция "умножение-сложение" с коротким множителем (long + long*short) и деление с остатком, снова-таки на короткое число. Операции элементарные, а сложность всего лишь квадратичная.
no subject
no subject
P.S. Я уж не буду придираться про "не понятно".
no subject
no subject
no subject