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
4706
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
12716
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, Супермодераторы



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

Сейчас этот форум просматривают: YandexBot [bot]


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

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