2014 dxdy logo

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

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




Начать новую тему Ответить на тему
 
 Позиционная система счисления – общий алгоритм
Сообщение07.10.2023, 21:00 


27/08/23
3
Господа, имеется ли универсальный алгоритм преобразования чисел в произвольную позиционную систему счисления?
Я не специалист, пишу конвертер для интереса. И результаты есть, но вдруг я изобретаю велосипед?

Для примера можно взять какую-нибудь нега-позиционную частично-сбалансированную систему с основанием -0.21 и алфавитом: x,y,z,0,1 (веса -3,-2,-1,0,1). Десятичное -2023.1007 будет записано как "...12302z02z1.11111".

 Профиль  
                  
 
 Re: Позиционная система счисления – общий алгоритм
Сообщение07.10.2023, 21:53 
Заслуженный участник
Аватара пользователя


01/09/13
4676
Alex B. Fox в сообщении #1612886 писал(а):
произвольную позиционную систему счисления

Дайте, пожалуйста, определение этого.

 Профиль  
                  
 
 Re: Позиционная система счисления – общий алгоритм
Сообщение07.10.2023, 22:53 


27/08/23
3
Под произвольной я подразумеваю сбалансированные, несбалансированные и частично-сбалансированные системы с вещественным основанием (ну, за исключением -1, 0, 1).

Хорошо если в алгоритм войдут и неоднородные системы, а также возможность биективной записи.
Будет идеально если найдётся также реализация использования вещественных цифр (этой темы я ещё не касался)

 Профиль  
                  
 
 Re: Позиционная система счисления – общий алгоритм
Сообщение07.10.2023, 23:48 
Заслуженный участник
Аватара пользователя


15/10/08
30/12/24
12599
Alex B. Fox в сообщении #1612901 писал(а):
Под произвольной я подразумеваю сбалансированные, несбалансированные и частично-сбалансированные системы с вещественным основанием (ну, за исключением -1, 0, 1).
Это не определение, а ссылка на три других определения. Вы, простите, не философский кончали?

 Профиль  
                  
 
 Re: Позиционная система счисления – общий алгоритм
Сообщение08.10.2023, 04:45 
Заслуженный участник


16/02/13
4214
Владивосток
Alex B. Fox в сообщении #1612901 писал(а):
Под произвольной я подразумеваю сбалансированные, несбалансированные и частично-сбалансированные системы с вещественным основанием
Ну, каждая из этих систем имеет определение. Если у вас получится разработать единый алгоритм — ну, таки вперёд! Хотя не думаю, что кому-нить хоть в страшном сне потребуется приведённая вами запись числа в системе с таким основанием и весами.
Alex B. Fox в сообщении #1612901 писал(а):
ну, за исключением -1, 0, 1
Вы про обыкновенную троичную систему с такими вот цифрами? Ну и чем она вам не угодила? Как по мне, она осмысленнее и куда менее экзотична приведённой вами.

 Профиль  
                  
 
 Re: Позиционная система счисления – общий алгоритм
Сообщение08.10.2023, 11:52 


27/08/23
3
iifat в сообщении #1612929 писал(а):
Alex B. Fox в сообщении #1612901 писал(а):
ну, за исключением -1, 0, 1
Вы про обыкновенную троичную систему с такими вот цифрами?
Нет, здесь я указал исключения из ряда вещественных оснований, поскольку нега-унарные и унарные системы к позиционным не относятся.

Утундрий в сообщении #1612907 писал(а):
Вы, простите, не философский кончали?
Нет, по первому образованию я инженер САПР.

iifat в сообщении #1612929 писал(а):
не думаю, что кому-нить хоть в страшном сне потребуется приведённая вами запись числа в системе с таким основанием и весами.
Будучи студентом много лет назад, вычислял и такое. Не скопом, конечно, а каждую разновидность отдельно. Тогда в первый раз и возникла идея универсального конвертера.

iifat в сообщении #1612929 писал(а):
не думаю, что кому-нить хоть в страшном сне потребуется
Я бы так сказал про 90% тем этого форума, поэтому сюда и пишу.

iifat в сообщении #1612929 писал(а):
Если у вас получится разработать единый алгоритм — ну, таки вперёд!
Да уже получилось. Но мне было бы интересно посмотреть и другие реализации, в том числе, округления младших (по весу) разрядов, биективной записи и обратного преобразования из неоднородных систем.

(Оффтоп)

Кроме позиционных, конвертер сейчас работает и с кодами (всевозможные Фибоначчи, негафибоначчи, трибоначчи, Люка и т.д.) и прочими рядами (факториалы, кубориалы, диагонали треугольника Паскаля, праймориалы, композиториалы и т.д.); башенными, некоторыми информационными системами; "обобщённой" системой Штерна-Броко (когда границы дерева не обязательно от 0/1 до 1/0, при этом эффективно обходит разрывы и бесконечности); Системой остаточных классов; "простыми" непозиционными; римской; смешанными (майя, вавилонская, двоично-десятичная и пр.), мультипликативными (типа китайской) и самой китайской; алфавитными (кириллица, глаголица, аттическая, грузинская и пр.). И всё это с поддержкой разделителей, цифр разной длины и прочими плюшками. Может использоваться как конвертер величин (например, Цельсий-Фаренгейт и т.п.). Внутри реализованы только общие алгоритмы формирования числа в заданной системе, точная настройка исходной и желаемой системы задаётся пользователем (тип системы, алфавит, веса, разделители и т.п.). Сам exe-файл весит 31Кб.
Как я понял, публиковать тут нельзя, но если кому-то станет любопытно – поделюсь.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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