ПРОГРАММЫ ОТ СЕРЖА

Математическая программа "Системы счисления". Скачать (94 kb)

Текущая версия - 2.11

Программа "Системы счисления" предназначена для перевода целых и дробных чисел из одной позиционной системы счисления с неотрицательными целочисленными основаниями в другую.

Диапазон значений систем счисления:
Исходная система счисления - от 2 до 36 включительно.
Нужная система счисления - от 2 до 99999 включительно.

Цифры выше 9 обозначаются латинскими буквами от A до Z. Регистр вводимого числа не имеет значения. В итоговом числе цифры-буквы отображаются в верхнем регистре. Если система счисления получаемого числа больше 36 и цифра числа больше "35", то эта цифра числа отображается в скобках. Например A=[10]. В программе есть кнопка, позволяющая вообще отключать отображение букв и показывать только скобочные "цифры".

Диапазон чисел -10^28(10) - +10^28(10)
ВНИМАНИЕ.
При переводе целой части чисел, которая больше 10^15 (в десятичном эквиваленте) и при переводе дробной части чисел, которая меньше 10^-15 (в десятичном эквиваленте) возможны погрешности.

Есть возможность указания точности выводимого дробного числа (для бесконечных периодических дробей). По умолчанию стоит "0" знаков после запятой.

Возможна проверка в виде обратного перевода - кнопка "обратно". Если система полученного числа больше 36 или включена опция "замены  букв на цифры", то обратная проверка не производится.

При переводе отрицательных чисел знак сохраняется.

Дробная часть отделяется от целой как точкой так и запятой. Программа не допускает ввода более одной десятичной точки/запятой. К итоговому числу всегда добавляется точка.

Программа не допускает ввода недопустимых символов а также недопустимых цифр, которых не может быть в данной системе счисления. Например цифры 3 не может быть в числе которое задано в двоичной системе счисления, а цифры "J" не может быть в 17-ричной системе счисления. Обо всех ошибках сообщает информационная строка.

Также в программу встроен "Римский блок". Он предназначен для перевода чисел из арабской системы счисления в римскую систему счисления. Обратный перевод пока не реализован. "Расширенные римские цифры" не поддерживаются. Когда включена галочка "римского блока", работает только данный перевод.


Программа "Системы счисления" написана в среде Visual Stidio.NET 2003 на языке Visual Basic.NET а марте-апреле 2007 года.
Программа начала дорабатываться в сентябре 2008 года.

Для работы программы необходим Microsoft .NET Framework от 1.1.
Ссылка - http://www.microsoft.com/net/Download.aspx
Без установленного пакета .NET Framework программа не работает.

Программа постоянно улучшается и модернизируется. Скачать новые версии Вы можете ТОЛЬКО на http://www.mylenefan.org/progs/ss.shtml

Все замечания и пожелания Вы можете написать мне на serg_mf@mail.ru

Программа может распространяться совершенно свободно.

Если вам понравилась программа, то вы можете переслать мне скромное вознаграждение:
Webmoney: E122206857136, R207071553639, Z311021871242
Яndex-Деньги: 41001120241902.


Отличия от предыдущих версий:

Версия 2.11
- изменено: итоговое число при системе числения больше 36 показывается с "буквами-цифрами", если цифра больше 35, то показывается цифра в скобках
- повышена информативность сообщений об ошибках, повышена "дуракоустойчивость"
Версия 2.10
- добавлена возможность перевода в системы счисления с основаниями больше 36 (поставил до 99999), при этом цифры обозначаются "номером цифры" в квадратных скобках. Например цифра A = [10]
- добавлена кнопка отображения цифр в данном формате со скобками, обратный перевод для проверки в таком случае пока отключён.
- расширена интерактивность программы
- изменён дизайн
Версия 2.02
- добавлено более подробное описание программы и более точные спецификации
Версия 2.0
- добавлен алгоритм перевода в римскую систему счисления
- изменён дизайн
- в некоторых версиях изменён адрес сайта программы
Версия 1.6
- первая выложенная версия

Ожидаемые возможности в будущем:
- работа над переводом из римской системы счисления в арабскую
- добавление унарной системы счисления
- добавление собственной иконки
- работа над преодолением проблемы погрешности при числах выше 10^15(10) (10^-15(10)) и переполнения при числах выше 10^28(10)


Бонус - моя программа "Системы счисления", написанная на Quick Basic в 1995 году!!! Скачать (41 кб)


Общие сведения о позиционных системах счисления и правила перевода из одной системы в другую

Общие сведения.

Системой счисления называется совокупность приемов наименования и записи чисел. В любой системе счисления для представления чисел выбираются некоторые символы (их называют цифрами), а остальные числа получаются в результате каких-либо операций над цифрами данной системы счисления.

Системы счисления подразделяются на позиционные, непозиционные и смешанные.

В позиционных системах счисления один и тот же числовой знак (цифра) в записи числа имеет различные значения в зависимости от того места (разряда), где он расположен.

Число единиц какого-либо разряда, объединяемых в единицу более старшего разряда, называют основанием позиционной системы счисления. Если количество таких цифр равно P, то система счисления называется P-ичной. Основание системы счисления совпадает с количеством цифр, используемых для записи чисел в этой системе счисления.

Для записи чисел системы счисления с основанием до 36 включительно в качестве цифр используются арабские цифры (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) и затем буквы латинского алфавита (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z). При этом, a = 10, b = 11 и т. д.

Принцип перевода числа из одной системы счисления в другую.

В программе использован двойной перевод - сначала из исходной системы счисления в десятичную, а затем из десятичной системы счисления в нужную. Если исходная и нужная система счисления одинаковы, то перевод происходит и в данном случае, что позволяет провести проверку программы и выявить погрешности при переводе больших чисел.

Ниже указаны принципы перевода, которые использует программа:

- При переводе чисел из системы счисления с основанием P в десятичную систему счисления необходимо пронумеровать разряды целой части справа налево, начиная с нулевого, и в дробной части, начиная с разряда сразу после запятой слева направо (начальный номер -1). Затем вычислить сумму произведений соответствующих значений разрядов на основание системы счисления в степени, равной номеру разряда. Это и есть представление исходного числа в десятичной системе счисления.

Для понимания этот абзац нужно пояснить примером:

1216,04 (8) = 1*8^3+2*8^2+1*8^1+6*8^0+4*8^-2 = 512+128+8+6+0,0625 = 654,0625 (10)

- При переводе чисел из десятичной системы счисления в систему с основанием P > 1 обычно используют следующий алгоритм:

1) если переводится целая часть числа, то она делится на P, после чего запоминается остаток от деления. Полученное частное вновь делится на P, остаток запоминается. Процедура продолжается до тех пор, пока частное не станет равным нулю. Остатки от деления на P выписываются в порядке, обратном их получению.

2) если переводится дробная часть числа, то она умножается на P, после чего целая часть запоминается и отбрасывается. Вновь полученная дробная часть умножается на P и т.д. Процедура продолжается до тех пор, пока дробная часть не станет равной нулю. Целые части выписываются после двоичной запятой в порядке их получения. Результатом может быть либо конечная, либо периодическая двоичная дробь. Поэтому, когда дробь является периодической, приходится обрывать умножение на каком-либо шаге и довольствоваться приближенной записью исходного числа в системе с основанием P.

При подготовки статьи были использованы источники:
- Системы счисления в Википедии
- Позиционные системы счисления в Википедии
- Позиционные системы счисления


Моя программа на http://www.softok.org/utils/calc/24337prog.html (последняя версия (2.11) - ссылка идёт на эту страницу)
Моя программа на http://download.ru/products/28050 (последняя версия (2.11) - ссылка идёт на эту страницу)
Моя программа на http://www.softportal.com/software-9075-sistemi-schisleniya.html (версия 2.0)
Моя программа на http://freesoft.ru/?id=675743 (версия 2.0)
Моя программа на http://41.edu.ru/index.php?option=com_docman&task=doc_details&gid=12&Itemid=119 (версия 2.0)
Моя программа на http://freeware.ru/program_prog_id_15921.html (версия 2.0)
Моя программа на http://softsearch.ru/programs/296-326-sistemy-schislenija-download.shtml (версия 2.0, ссылка идёт на freesoft)
Моя программа на http://www.softok.org/utils/calc/23117prog.html (версия 2.0, ссылка идёт на мой старый сайт)
Моя программа на http://www.soft.shnyga.com/program/15921.html (версия 2.0 - ссылка идёт на мой старый сайт)