ПЕРЕВОД ЧИСЕЛ ИЗ ШЕСТНАДЦАТЕРИЧНОЙ СИСТЕМЫ В ДВОИЧНУЮ И ВОСЬМЕРИЧНУЮ

Сколько Вы бы хотели получать долларов в месяц, 4608D или 11003Q?

А. Алешин

Алгоритм перевода чисел из шестнадцатеричной системы счисления двоичную крайне прост. Необходимо только заменить каждую цифру шестнадцатеричного числа ее эквивалентом в двоичной системе счисления (в случае положительных чисел). Как и в предыдущих параграфах, удобно и полезно воспользоваться таблицей соответствия, приведенной в Приложении. Отметим только, что каждое шестнадцатеричное число следует заменять двоичным, дополняя его до 4 разрядов (в сторону старших разрядов).

Пусть требуется перевести шестнадцатеричное число F116 в двоичное число. Воспользовавшись Таблицей соответствия из Приложения, получим:

F116 = 111100012,

поскольку F16 = 11112, 116 = 00012. Этот пример иллюстирует тот факт, что следует дополнять младшие разряды до 4 разряда в двоичном числе. Естественно, дополнять старший разряд двоичного числа до 4 старших битов нулями не имеет смысла, другими словами пишут

1F16 = 111112, а не 000111112

Обычно при переводе чисел из шестнадцатеричной в восьмеричную систему счисления вначале шестнадцатеричное число переводят в двоичное, затем разбивают его на триады, начиная с младшего бита, а потом заменяют триады соответствующими им эквивалентами в восьмеричной системе (аналогично алгоритму, описанному в разделе Перевод чисел из двоичной системы в восьмеричную и шестнадцатеричную. Для рассмотренных выше примеров имеем:

1F16 = 111112 = 011 1112 = 378


F116 = 111100012 = 011 110 0012 = 3618

Непосредственное преобразование чисел из шестнадцатеричной системы счисления в восьмеричную требует выполнения арифметических действий в этой системе счисления. Об этом речь пойдет позже, в IV главе нашего курса. Отмечу только, что программная реализация вышеприведенного алгоритма проще и надежнее, поскольку при выполнениях операций деления неизбежно возникают дробные числа и переполнения разрядной сетки, необходимость округления, и, как следствие, потеря точности, не говоря уже о скорости выполнения компьютером такого типа алгоритмов.

<< Предыдущий раздел       Оглавление       Следующий раздел >>


Одесский национальный университет им. И.И. Мечникова
Кафедра компьютерных и информационных технологий
Все права защищены © ;-)
Web-страница автора
Алексей Алешин
Hosted by uCoz