Требуется обновление браузера.

Ещё раз о числе и его представлении


Просмотров: 1114
08 января 2020 года

Аннотация


Продолжая стенания о повсеместном употреблении жаргонизма «десятичное число», вместо терминологически верного «число, записанное в десятичной системе счисления», я взял, да и провёл конвертацию числа, записанного римскими цифрами, в число, представленное в шестнадцатеричной системе счисления.

На заметку
Мятежный дух данного поступка в следующем: вопреки указаниям в учебнике по информатике (и вторящей им справке такого продукта как MATLAB), я не проводил предварительной трансляции числа в привычную нам десятичную систему счисления.


Все операции по переводу выполнены согласно правилам работы с римскими цифрами и никак не используют арифметические приёмы, принятые в позиционных системах счисления: вероятно так выглядела бы реализация алгоритма конвертации в эпоху римских цифр.

  • Деление заменено каскадом вычитаний чисел, кратных 16 и одной из римских цифр.
  • Умножение (при подготовке вспомогательной таблички) произведено посимвольно.
  • Вычитание представляет собой вычёркивание одинаковых символов, используемых в записи операндов, до исчерпания символов в правом операнде.
  • Ноль заменён пустотой.
  • Полученные остатки от делений на 16 сохраняются и затем формально транслируются (отображаются) на алфавит шестнадцатеричной системы счисления. Данную операцию сопоставления одних значков другим можно доверить дошкольнику.

Я не буду приводить простыню нудных вычислений. Вместо этого я записал видео одним дублем.

На заметку
Выражаю огромную благодарность терпеливому оператору: без него реализовать задумку не удалось бы.


Так как я не утомлял себя синхронным комментированием процесса, аудиодорожка содержала только комментарии оператора о качестве картинки. Поэтому звук был изменён на трек из фонотеки видеохостинга.


Вывод


  • "Котлеты - отдельно, мухи-отдельно": не смешивайте число и его формы представления.
  • Римские цифры самодостаточны: для них определены алгоритмы основных арифметических операций, без необходимости конвертации в позиционную систему счисления (сложение вообще сводится к простой конкатенации записей операндов    [?]
    при условии, что числа не в компактной записи
    ).
  • Работа с римскими цифрами примитивна: работать просто, но выкладки столь громоздки, что велика вероятность ошибки (см. видео после 26-ой минуты, где я поначалу потерял X).
  • Предварительная трансляция числа в позиционную систему счисления (десятичную, как воспринимаемую естественно) позволяет ускорить процесс (30 минут на конвертацию одного числа!) путём использования оптимизированных алгоритмов арифметических операций.

Запись опубликована в категориях:

Цифры и числа Алгоритмы и аспекты Scrupulosus  
 

Комментарии

Инкогнито
  Загружаем captcha