Программы для перевода чисел в системы счисления
Довольно часто мне приходилось видеть, как учитель информатики переводит на листке бумаги огромные числа из одной системы счисления в другую, затрачивая при этом не только бумагу, но и ценное время, а ПК стоит включенный без дела. А ведь как было бы просто перевести все это на компьютере, записать результаты и идти дальше. Конечно, можно было использовать стандартный калькулятор в Windows’е, но, а если вам нужно перевести из 2-й системы счисления в 5-ую? Или, если необходимо перевести дробь? Поэтому, предварительно проанализировав нужную литературу для перевода чисел, я и решился создать такую программу, ведь она не только будет полезна учителю информатики, но и тем, кто часто работает с разными системами счислений и вынужден переводить числа.
Данная программа создавалась в среде программирования Delphi 7 (2002). Алгоритм перевода устроен так, что вы можете переводить числа из различных систем счисления любой длины (разве что он ограничен переменной longint) в любые другие системы счисления (поддерживаются от 2-й до 16-й систем счисления). Также он умеет переводить и дробные числа. Кроме того, программу можно спокойно научить переводить из систем счислении с более большим основанием т. к. основной алгоритм перевода уже заложен.
Кроме реализации алгоритма перевода, я пытался использовать как можно меньше компонентов, чтобы получить не только меньший размер, но и большую производительность, а также повышенную совместимость со старыми операционными системами семейства Windows, ведь в моей программе не используется компонент XPmanifest и XPman, которые характерны для Windows XP. Также использовалось UPX сжатие, дабы еще сильнее уменьшить размер полученного EXE файла.
Внешний вид программы запущенный в Windows 98
И в Windows XP.
В первом окне указываем из какой системы счисления, во втором окне – в какую систему счисления переводить данное выражение.
А в этом окне указываем с какой точностью будет переводиться дробное выражение т. к. некоторые дробные числа имеют бесконечную длину.
Сюда вы вводите нужное для перевода число. После запятой вводим дробную часть
Набрав нужное выражение и выбрав интересующую вас систему счисления, нажмите кнопку перевести, и в нижнем окошке высветится результат перевода.
Возьмем для примера 26,375(10) ►X(2).
В итоге мы получим 11010,011(2). Давайте проверим, так ли это.
Выполним деление с остатком:
26 : 2 =13 (ост. 0);
13 : 2 =6 (ост. 1);
6 : 2 =3 (ост. 0);
3 : 2 =1 (ост. 1);
1 : 2 =0 (ост. 1)
В итоге получаем 11010 (2). Точно так же вычислила и наша программа.
Теперь проверим дробную часть:
0,375*2=0,75;
0,75*2=1,5
0,5*2=1,0
В итоге получим 0,011(2). Результат 11010,011 (2) , т. е. такой же как и результат работы моей программы.
Решение ничем не отличается от решения данной программы.
Программа имеет небольшой объем, легка в применении, работает на любом компьютере с ОС семейства Windows и без предварительной установки.
Надеюсь, эта программа вам понравится. Под конец я хочу обратить ваше внимание на то, что данная программа находится в стадии бета тестирования, поэтому не исключено, что перевод чисел из одной системы счисления в другую может быть не совсем верным. Если найдете ошибку в переводе, то пришлите его на мою электронную почту myhouse_1991@mail. ru, предварительно указав, что он неправильно переводит.
Комментарии