Разработка модуля для выполнения операций с натуральными числами в 16-ричной системе счисления — это формирование набора подпрограмм, объединенных в единый модуль, который способен выполнять операции над натуральными числами в шестнадцатеричной системе счисления.
Общие сведения о системах счисления
Современному человеку в каждодневной жизни все время приходится сталкиваться с числами, а именно, нужно запомнить номера автобусов и телефонов, в магазинах подсчитывать цену покупок, вести свой семейный бюджет в рублях или другой валюте и так далее. Историки смогли доказать, что и четыре тысячи лет назад человек мог записывать числа и выполнять над ними арифметические операции. Естественно, принципы записи раньше были вовсе не такие, как сегодня. Но, тем не менее, числа изображались при помощи специальных символов. Такие символы, которые участвуют в записи чисел, в математике и информатике именуются цифрами
Системой счисления является методика записи (отображения) чисел. Разные системы счисления, существовавшие ранее и используемые сегодня, подразделяются на следующие группы:
- Позиционные системы счисления.
- Непозиционные системы счисления.
Системы счисления, в которых всем цифрам должна соответствовать величина, не зависящая от ее местоположения в представлении числа, именуются непозиционными системами счисления. А самыми совершенными считаются позиционные системы счисления, то есть, такие системы записи чисел, в которых значение каждой цифры в общей величине числа определяется ее положением, то есть, позицией в последовательности цифр, представляющих число.
Десятичная система счисления является самой распространенной системой счисления. Именно она используется большинством людей, когда они называют стоимость товара или номер автобуса. В любом из разрядов (позиций) может быть использована лишь одна цифра из диапазона от нуля до девяти, а в качестве основания системы используется число десять.
Разработка модуля для выполнения операций с натуральными числами в шестнадцатеричной системе счисления
В шестнадцатеричной системе счисления основанием является число шестнадцать, и используются цифры 0, 1, 2, 3, 4, 5 6, 7 8, 9, A, В, С, D, E, F. При данном изображении цифр в шестнадцатеричной системе счисления используются следующие обозначения:
- Буква А обозначает число десять.
- Буква B обозначает число одиннадцать.
- Буква C обозначает число двенадцать.
- Буква D обозначает число тринадцать.
- Буква E обозначает число четырнадцать.
- Буква F обозначает число пятнадцать.
Шестнадцатеричная система счисления стала использоваться по мере развития компьютерных технологий. Выводимая информация в двоичных кодах представлялась слишком длинной и непонятной, а на перевод чисел в десятеричную систему счисления затрачивалось много времени и ресурсов памяти. В течение какого-то времени использовалась восьмеричная система, но затем все-таки был выполнен переход на шестнадцатеричную систему счисления.
Самым частым использованием шестнадцатеричной системы счисления являются коды ошибок программных продуктов, к примеру, операционной системы. Числа, которые заложены в этих кодах, являются стандартизированными. При помощи специальной таблицы всегда можно узнать значение той или иной ошибки.
В языках низкого уровня, которые максимально приближены к машинным кодам, шестнадцатеричная система используется для написания программ. Но иногда программисты применяют ее и при работе с языками высокого уровня.
Для того чтобы работать с шестнадцатеричными числами, можно обратиться к специальным программным библиотекам или вычислительным модулям. Но невзирая на то, что такие модули могут входить в базовый пакет программ, в отдельных случаях для программистов имеет смысл самим создать вычислительный блок, чтобы обладать возможностью его настройки под конкретную задачу.
Создание алгоритма следует начать с определения всех функций вычислительного модуля, необходимых для исполнения всех поставленных ему задач. А именно, от модуля может потребоваться выполнение следующих действий:
- Получение числа в десятичной системе счисления и перевод его в шестнадцатеричную систему счисления и обратно.
- Возможность выполнения стандартных арифметических операций с шестнадцатеричными числами, то есть, операций сложения, вычитания, умножения и деления.
Для того чтобы перевести десятичное число в шестнадцатеричную систему счисления, его следует последовательно делить на шестнадцать до тех пор, пока не образуется остаток от деления, который меньше или равен пятнадцати. А, для того чтобы перевести шестнадцатеричное число в десятичное, следует его записать в форме многочлена, который состоит из произведений цифр числа и соответствующей степени числа 16, и осуществить вычисление согласно правилам десятичной арифметики:
Рисунок 1.
В шестнадцатеричной системе счисления все арифметические операции осуществляются точно так же, как и в десятичной системе. Законы арифметики, а именно, коммутативный закон, ассоциативный и дистрибутивный законы, являются справедливыми для любой системы счисления. Принимая это во внимание, можно выполнять все арифметические действие между шестнадцатеричными числами в полной аналогии с десятичной системой счисления, то есть, «столбиком».
Согласно этим положениям может быть сформирован код программы, которая реализует вычислительный модуль, предназначенный для исполнения операций с натуральными шестнадцатеричными числами. Но поскольку предполагается работа только с натуральными числами, то на вычислительный модуль должны накладываться следующие замечания:
- При выполнении вычитания из меньшего числа большего получится отрицательное шестнадцатеричное число.
- При делении шестнадцатеричных чисел может не получаться целочисленное деление. В таких случаях следует указать целую часть и остаток от деления.