Перевод чисел из двоичной системы в восьмеричную и шестнадцатеричную

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

Пусть требуется перевести двоичное число 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). Сравнительные таблицы соответствия чисел в различных системах счисления можно найти в Приложении.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: