Изобрёл очередной велосипед - сделал приложение для перевода из одной произвольной системы счисления в другую.
При разработке использовал новый подход: комментарии старался писать ДО того, как писал сам код, или сразу же после каждой строчки. Оказалось, что так легче не путаться (обычно писал минимум комментариев, в основном ограничиваясь описанием функций и классов, до тех пор, пока хотя бы сами функции не были отлажены).
Что касается приложения, то изобрёл свой способ записи - с разделением разрядов вертикальной чертой. Это нужно для того, чтобы можно было использовать системы с основанием > 10. Да, я знаю про латинский алфавит, но что, если основание превышает количество букв в нём? Короче, запись на выходе у меня такая: 1|2|3|4.1|2|3. На вход принимается как такая запись, так и обычная, но тогда программа сама определяет, какая цифра является каким разрядом, считая, что переданное число находится в десятичной системе счисления. Буквы пока не понимает. То есть если вы хотите записать 9BF4 в шестнадцатеричной системе, придётся писать так: 9|11|15|4. Возможно, в будущем внедрю поддержку алфавита (A-Z) и уберу разделители для систем с основанием до 36.
Лежит
тут, описание - в скрипте.