Системы счисления.

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Teranas
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 224
Зарегистрирован: 13.12.2008 (Сб) 4:26
Откуда: Новосибирск

Re: Системы счисления.

Сообщение Teranas » 10.04.2017 (Пн) 3:58

Для школьников и всех кто под них косит, есть хорошее описание, на мой взгляд.
Там даже вычисление столбиком есть.

http://inf.e-alekseev.ru/text/Schisl_perevod.html
С уважением, Андрей.

Alex B. Fox
Начинающий
Начинающий
 
Сообщения: 5
Зарегистрирован: 22.05.2006 (Пн) 14:23
Откуда: Москва

Re: Системы счисления.

Сообщение Alex B. Fox » 10.04.2017 (Пн) 7:20

Именно, что для школьников. Общие сведения и простейшие примеры для частных случаев. Такого полно.
Где взять алгоритм пересчёта, например, в симметричную СС с основанием -0,2? Кто-нибудь знает, сколько при этом используется цифр? А программка знает.
Мне было интересно в этом покопаться, вот и выкладываю - может ещё кого заинтересует.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16473
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Системы счисления.

Сообщение Хакер » 10.04.2017 (Пн) 9:30

Alex B. Fox писал(а):Где взять алгоритм пересчёта, например, в симметричную СС с основанием -0,2? Кто-нибудь знает, сколько при этом используется цифр? А программка знает.

Какой практический смысл?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Alex B. Fox
Начинающий
Начинающий
 
Сообщения: 5
Зарегистрирован: 22.05.2006 (Пн) 14:23
Откуда: Москва

Re: Системы счисления.

Сообщение Alex B. Fox » 10.04.2017 (Пн) 10:21

Хакер писал(а):
Alex B. Fox писал(а):Где взять алгоритм пересчёта, например, в симметричную СС с основанием -0,2? Кто-нибудь знает, сколько при этом используется цифр? А программка знает.

Какой практический смысл?

Смысл ровно тот же, что и у любого другого конвертера систем счисления. Только этот будет работать на большем пространстве исходных данных, а не "только для положительных целых чисел в однородных позиционных системах с положительным целым основанием, большим 1 и меньшим 53; где 0 является младшей цифрой, а цифра состоит из 1 символа", реализация которого была предложена в начале этой темы под видом "AnyToAny". Такие реализации мне напоминают алгоритмы из серии "как умножить двухзначное число на 11" - здорово, но слишком узко в применении.

Ещё раз, мне было просто интересно. Никому не навязываюсь.

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4147
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: Системы счисления.

Сообщение Mikle » 10.04.2017 (Пн) 13:50

Для меня есть познавательный смысл. До сих пор не подозревал и системах счисления с дробным или отрицательным основанием.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Системы счисления.

Сообщение alibek » 10.04.2017 (Пн) 14:36

Дробное или отрицательное основание — это вообщем-то достаточно очевидно, просто не совсем понятен практический смысл использования таких СС.
А вот про позиционные неоднородные СС хотелось бы услышать побольше. Есть примеры?
Lasciate ogni speranza, voi ch'entrate.

Alex B. Fox
Начинающий
Начинающий
 
Сообщения: 5
Зарегистрирован: 22.05.2006 (Пн) 14:23
Откуда: Москва

Re: Системы счисления.

Сообщение Alex B. Fox » 10.04.2017 (Пн) 17:58

alibek писал(а):А вот про позиционные неоднородные СС хотелось бы услышать побольше. Есть примеры?

В неоднородных - у каждого разряда собственное основание.
Это что на поверхности. А вот дальше...
Вес разряда определяется не простым возведением основания в степень разряда, а, для целой части, произведением оснований всех разрядов (или их модулей?), от текущего до нулевого, не включая текущий; для дробной - от текущего до -1, включая текущий, всё в -1 степени. Как-то так.

Классический пример - запись времени. (10C24):(10C60):(10C60) - десятичное кодирование системы с основаниями 24:60:60.

Alex B. Fox
Начинающий
Начинающий
 
Сообщения: 5
Зарегистрирован: 22.05.2006 (Пн) 14:23
Откуда: Москва

Re: Системы счисления.

Сообщение Alex B. Fox » 29.10.2023 (Вс) 15:07

Alex B. Fox писал(а):Все реализации "Any2Any", что я встречал, - частные случаи.
Попытался ради интереса сделать универсальный алгоритм.

Спустя 6 лет, с вашего позволения, покажу обновлённое приложение. Добавил файл с примерами, демонстрирующий возможности по конструированию и конвертации систем счисления:

* Позиционные СС:
- Вещественные основания – натуральная (e-ричная), Пи-ричная, металлические сечения (золотое, серябряное, бронзовое и т.д., сверхзолотое);
- Нега-позиционные;
- С модулем основания менее 1;
- Сбалансированные (Симметричные) – троичная зеркально-симметричная (Фи+1), Частично-сбалансированные, Несбалансированные;
- С биективной записью – столбцы Excel;
* Коды – Фибоначчи, негафибоначчи, трибоначчи, Перрена, Падована, упрощённый Падована, Нараяна, Пелля, Пелля-Люка, Леонардо, Люка, Якобсталя, Якобсталя-Люка, Каталана, квадратные треугольные числа, диагонали треугольника Паскаля (3-, 4-, 5-…), факториальные (кваториальные, кубориальные, триангониальные, субфакториальные, N-крат-факториальные, праймориальные, композиториальные…);
* С переменным основанием – факториальная,
* Смешанные – вавилонская, Майя, двоично-десятичная (BCD), запись времени;
* Унарные, нега-унарные
- Вещественный вес цифры;
- Использование части цифры ("38 попугаев и одно попугайское крылышко");
* Непозиционные – нумерация Ариабхаты, кириллическая, глаголическая, Аттическая, Армянская, Грузинская, КППУ;
* Непозиционная универсальная – с поддержкой отрицательных и дробных цифр;
* Мультипликативные – китайская, эфиопская;
* Система остаточных классов (с полной и краткой записью);
* Информационные;
* Башенные (в т.ч. с модификацией по Федотову);
* Дерево Штерна-Броко, в т.ч. обобщённый вариант – в произвольных границах;
* Флаги – двоичные, троичные и т.д., в т.ч. нецелочисленные;
* Римская;
* Прочие возможности
- Цифры разной длины;
- Разделители разрядов;
- Обратная запись;
- Знаки для положительных и отрицательных чисел;
- Округление;
- Конвертация величин – Фаренгейт из Цельсия, Делиль из Цельсия,..;
- Запись цифрами народов мира (арабские, деванагари, бенгальские, гурмухи, гуджарати, ория/уткали, тамильские, тегулу, каннада, малаялам, тайские, лаосские, тибетские, НКо/народы манде, бирманские, кхмерские, монгольские, лимбу/яктумба, тай-лы новые, балийские, сунданские, лепча, ол чики/сантали, ваи, саурашта, кая, чамские)

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

https://disk.yandex.ru/d/4WVnHl3o2FNuIg

Пред.

Вернуться в Visual Basic 1–6

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

Сейчас этот форум просматривают: Google-бот, Yandex-бот и гости: 12

    TopList