2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 Системы счисления.
Сообщение22.10.2008, 21:07 


22/10/08
2
Хочу сразу предупредить, что я не математик. Обладаю знаниями лишь на уровне 2-го, 3-го курса тех. вуза. Так получилось что несколько лет назад чисто эмпирически вывел формулу для перевода чисел из любой системы счисления в любую (для целых чисел и с целочисленным же основанием системы). Озадачил этой самой формулой преподавателя информатики и благополучно забыл. Недавно снова натолкнулся на старые записи, перепроверил - все работает. Но уже не могу понять как :D .
Интересно было бы разобраться в этой теме. Материалы, которые смог найти через интернет даже не намекают на какую-то общую теорию систем счисления: те же двоичная, восьмеричная, шестнадцатиричная и способы перевода между ними.

 Профиль  
                  
 
 
Сообщение22.10.2008, 21:17 
Заслуженный участник
Аватара пользователя


01/03/06
13626
Москва
См. http://ilib.mirror1.mccme.ru/plm/ann/a40.htm

 Профиль  
                  
 
 
Сообщение22.10.2008, 21:22 
Заслуженный участник
Аватара пользователя


06/10/08
6422
Вот здесь есть про разные системы счисления и перевод между ними в том числе: http://ilib.mirror1.mccme.ru/plm/ann/a40.htm

Добавлено спустя 31 секунду:

Опоздал. :)

 Профиль  
                  
 
 
Сообщение22.10.2008, 22:14 


22/10/08
2
Brukvalub писал(а):


Опаньки :shock: . И дальше, получается никто не прошел? Там же на словах приведен обычный алгоритм перевода делением из десятичной системы в семиричную, а дальше "Можно таким же образом осуществить перевод числа из произвольной системы в любую другую. Для этого нужно выполнять такую же серию последовательных делений, как и в рассмотренных выше примерах, но только эти действия придется выполнять не в десятичной системе, а в той системе, в которой сделана первоначальная запись числа."
У меня получается все в одно выражение общего вида (правда со взятием целой части), хоть из девятеричной в четверичную и без всяких промежуточных пересчетов "в системе первоначальной записи числа".
И еще. Неужели не было попыток введения универсального принципа записи систем счисления с основанием больше 10-ти?

 Профиль  
                  
 
 
Сообщение22.10.2008, 22:56 
Заслуженный участник
Аватара пользователя


06/10/08
6422
Neonohoret в сообщении #152656 писал(а):
У меня получается все в одно выражение общего вида (правда со взятием целой части), хоть из девятеричной в четверичную и без всяких промежуточных пересчетов "в системе первоначальной записи числа".

Вы, видимо, зря забросили математику :)
Приведите, что ли, ваши листочки, посмотрим.
Neonohoret в сообщении #152656 писал(а):
И еще. Неужели не было попыток введения универсального принципа записи систем счисления с основанием больше 10-ти?

Такое ощущение, что это не нужно никому. Реально используется только 16-ричная, ну еще есть всякие фриковые 12-ричные общества: http://www.dozenalsociety.org.uk/

 Профиль  
                  
 
 
Сообщение22.10.2008, 23:44 


29/09/06
4552
Neonohoret в сообщении #152629 писал(а):
вывел формулу для перевода чисел из любой системы счисления в любую (для целых чисел и с целочисленным же основанием системы).

Я так понимаю, что и автор, и ответившие ему, представляют, как может (могла бы) выглядеть такая формула. Типа $10_8=\mbox{Формула}(8_{10},...)$. Буду признателен, если кто-то объяснит это и мне. (Если речь об алгоритме, то объяснить только взаимозаменяемость этих слов).

Добавлено спустя 54 секунды:

Вау, какой у меня роскошный пример случился: $i_j=j_i$!

 Профиль  
                  
 
 
Сообщение23.10.2008, 06:13 
Заблокирован
Аватара пользователя


22/03/08

7154
Саратов
20 лет назад я написала книжку "Позиционные системы счисления". В прошлом году мой брат, живущий в Душанбе, предложил мне издать книжку за свой счёт. Я, конечно, согласилась. Брат издал книжку в конце прошлого года (Макарова Н. В, Шукуров Ф. А. "Позиционные системы счисления", Душанбе: "Хумо", 2007).
Сейчас открыла книжку и вот на стр. 24 вижу общее правило перевода любого числа из R-ичной системы в Q-ичную (основания систем R и Q - целые числа). Вот это правило: "Чтобы преобразовать запись числа, представленную формулой (1), в некоторой R-ичной системе счисления в эквивалентную запись в Q-ичной системе счисления, надо выполнить следующее: заменить в правой части формулы (2), представляющей число в R-ичной системе, все R-ичные цифры и основание системы счисления R на числовые эквиваленты в Q-ичной системе счисления, а затем выполнить указанные в формуле действия (возведение в степень, умножение и сложение) в Q-ичной арифметике".
Прошу прощения, что не привожу формулы (1) и (2) (не умею я здесь формулы писать :oops: ).
На моём сайте есть электронная версия этой книжки. Ссылки давать здесь не велят :) Говорят, это реклама.

 Профиль  
                  
 
 
Сообщение23.10.2008, 08:08 


29/09/06
4552
Nataly-Mak в сообщении #152686 писал(а):
Ссылки давать здесь не велят Говорят, это реклама.
Это не так. Вы ничего не нарушите, написав, "Вот ссылка на мою книгу/статью/текст, посв. данной теме", присовокупив ссылку именно на документ (а не на сайт). Вы даже можете написать "Ссылка на книгу есть на моём сайте (точка). А указание на сайт можно впарить в каждое Ваше сообщение через профиль.

Всё устроено разумно и культурно.

 Профиль  
                  
 
 
Сообщение23.10.2008, 10:01 
Заблокирован
Аватара пользователя


22/03/08

7154
Саратов
От-то я и всегда ссылки по теме давала, и на документы, а не на сайт. Про магические квадраты много документов написала, а их все удалили :)
Ну, вот попробую дать ссылку на мою книжку "Позиционные системы счисления"
http://www.klassikpoez.narod.ru/pozic1.rar
Когда распакуете архив, в документе запарашивается пароль, введите ва (кириллицей), а дальше открывайте документ только для чтения.

 Профиль  
                  
 
 
Сообщение23.10.2008, 13:01 
Заблокирован


16/03/06

932
Ну, коль речь идет о информатике и позиционных системах, предлагаю решить такую проблему:

В память компьютера нужно записать, в двоичном формате, десятичное число длиной в 10 разрядов.
Например: вводим десятичное число "5465387251" в символьном формате. В памяти эти символы будут храниться так:
0101 0100 0110 0101 0011 1000 0111 0010 0101 0001, то есть 10 полубайтов, хранящих десятичные цифры.
Нужно описать алгоритм операций с байтами для преобразования этой цепочки в двоичное число
00000001 01000101 11000011 00110000 11110011
Так оно выглядит в калькуляторе в двоичном формате (для удобства восприятия я разбил его на байты).

 Профиль  
                  
 
 
Сообщение23.10.2008, 14:14 
Аватара пользователя


17/05/08
358
Анк-Морпорк
А интересная задача

Поскольку $(10)_{10}=(1010)_2$, то можно составить алгоритм, для которого потребуется $4(n-1)$ операций сдвига и сложения, где n - количество цифр в десятичной записи.
$a_i$ - полубитные цифры

$t=a_1$
i=2
пока i<=n do
{t=лсдвиг(t,3)+лсдвиг(t,1)+$a_i$
i=i+1}
результат=t

 Профиль  
                  
 
 
Сообщение23.10.2008, 15:28 
Заблокирован


16/03/06

932
General в сообщении #152769 писал(а):
i=2
пока i<=n do
{t=лсдвиг(t,3)+лсдвиг(t,1)+
i=i+1}
результат=t

Красиво. В одну строчку уместили смысл, для объяснения которого в терминах десятичной арифметики понадобилось бы пару страниц текста написать.
Начинаем с левого полубайта, умножаем его на (8+2), прибавляем следующий полубайт, результат опять умножаем на 10, прибавляем следующий и т.д... Вот и ответ на вопрос автора ветки: "Неужели не придумали универсального алгоритма для перевода из систем счисления с основанием больше (10) ?".
Для основания (42) такая строка понадобится?
{t=лсдвиг(t,5)+лсдвиг(t,3)+ лсдвиг(t,1)+

 Профиль  
                  
 
 
Сообщение23.10.2008, 16:02 


11/05/06
363
Киев/Севастополь
называется схема Горнера ;)
ее кстати в школе проходят, классе в 8

 Профиль  
                  
 
 
Сообщение23.10.2008, 17:10 
Заблокирован


16/03/06

932
MaximKat в сообщении #152792 писал(а):
называется схема Горнера
ее кстати в школе проходят, классе в 8

В смысле $5*13= 5*(8+4+1)$ ? А с какой стати этот простой арифметический прием, известный еще древним индусам, именем какого-то Горнера назвали? Или это он счеты (где костяшки сдвигают) придумал ?
Отвлечение от темы. Европейская традиция - всякую вещь собственным именем назвать. Математик Арнольд высказался по этому поводу так: "Именные изобретения, как правило, не принадлежат обозначенным авторам". Читаю учебник математики 1899 года. Там каждая задача обозначена французской фамилией. Соласен, что "схема Горнера" звучит и выглядит солиднее, чем "схема почленного умножения", но в применении вторая фраза практичнее, так как в ней заложен арифметический смысл.

 Профиль  
                  
 
 
Сообщение23.10.2008, 17:27 
Заслуженный участник
Аватара пользователя


06/10/08
6422
Архипов в сообщении #152813 писал(а):
В смысле $5*13= 5*(8+4+1)$ ?

Нет, схема Горнера не в этой строчке: t=лсдвиг(t,3)+лсдвиг(t,1)+$a_i$, а в цикле: Схема Горнера состоит в том, что мы вычисляем значение многочлена не обычной последовательностью действий $a_n x^n + a_{n-1} x^{n-1}\dots + a_0$, а вот так: $(\dots(a_n\cdot x + a_{n-1})\cdot x+\dots +a_1)\cdot x + a_0$

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 20 ]  На страницу 1, 2  След.

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: Stratim


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group