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

Разделяй и переводи.

А. Алешин

При обработке данных и вычислениях одной из наиболее часто встречающихся задач является перевод чисел из одной системы счисления в другую. Рассмотрим простейшие алгоритмы перевода положительных чисел из двоичной системы в восьмеричную и шестнадцатеричную.

Пусть требуется перевести двоичное число 101011011001101101111001010110010112 в восьмеричную систему счисления. Для этого следует разбить это двоичное число на триады, начиная с младшего бита (МБ). Получим:

010 101 101 100 110 110 111 100 101 011 001 0112

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

2 5 5 4 6 6 7 4 5 3 1 38

Таким образом,

101011011001101101111001010110010112=2554667453138

Аналогично поступаем при переводе чисел из двоичной системы счисления в шестнадцатеричную, но разбиение двоичного числа производим на тетрады. Для примера будем использовать то же двоичное число, что и при переводе в восьмеричную систему счисления:

0101 0110 1100 1101 1011 1100 1010 1100 10112

Заменяя двоичные тетрады на их шестнадцатеричные значения, получим искомое шестнадцатеричное число:

101011011001101101111001010110010112=56CDBCACB16

Очевидно, что разбиения на триады и тетрады связаны со степенями двойки (для триады, при переводе в восьмеричную систему, 23, а для тетрады, при переводе в шестнадцатеричную, 24)). Сравнительные таблицы соответствия чисел в различных системах счисления можно найти в Приложении.


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


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