Для преобразования целочисленного значения необходимо исходное число разделить на основание новой системы счисления до получения целого остатка, который является младшим разрядом числа в новой системе счисления (единицы). Полученное частное снова делим на основание системы, и так до тех пор, пока частное не станет меньше основания новой системы счисления. Все операции выполняются в исходной системе счисления.
Рассмотрим для примера перевод числа из десятичной системы счисления в двоичную. Возьмём десятичное число А10 = 124 и поделим его на основание двоичной системы, то есть на число 2. Деление будем производить «уголком». В результате первого деления получим разряд единиц (самый младший разряд). В результате второго деления получим разряд двоек. Деление продолжаем, пока результат деления больше двух. В конце операции преобразования получили двоичное число 11111002:
Для того, что бы проверить, нет ли ошибки, преобразуем получившееся двоичное число в десятичную систему по обычной формуле разложения:
Теперь то же самое число переведём в восьмеричную систему счисления. Для этого число 12410 будем делить на число 8.
Как видим, остаток от первого деления равен 4. То есть младший разряд восьмеричного числа содержит цифру 4 (единицы). Остаток от второго деления равен 7. то есть второй разряд восьмеричного числа – это цифра 7. Старший разряд получился равным 1. То есть в результате многократного деления мы получили восьмеричное число 1748.
Проверим, не ошиблись ли мы в процессе преобразования? Для этого преобразуем получившееся двоичное число в десятичную систему по обычной формуле разложения:
1×82+7×81+4×80=6410+5610+410=124
А можно ли осуществить перевод из восьмеричной системы счисления в двоичную делением? Можно! Но деление нужно произвести по правилам восьмеричной арифметики. Правила работы в восьмеричной системе счисления мы рассмотрели в предыдущей главе. Рассмотрим пример перевода в двоичную форму полученного ранее восьмеричного числа 1748. Разделим его на основание новой системы счисления 2:
Как мы убедились, выполнять деление в восьмеричной системе очень неудобно, ведь подсознательно мы делим в десятичной системе счисления. Если обратить внимание на то, что число 8 является степенью числа 2, то можно считать восьмеричную систему счисления просто более короткой записью двоичного числа. Это означает, что для представления восьмеричной цифры можно использовать три двоичных бита (8=23). Составим таблицу соответствия для такого преобразования.
Используя эту таблицу можно просто заменить каждую восьмеричную цифру тремя двоичными битами. Три двоичных бита обычно называют триадой или трибитом. Теперь переведём восьмеричное число 1748 в двоичную форму при помощи таблицы 5.6:
Аналогично можно выполнить перевод числа из двоичной системы в восьмеричную. Для этого двоичное число разбивают на триады относительно крайнего правого разряда (или двоичной запятой) и, используя таблицу 5.6, каждой триаде ставят в соответствие восьмеричную цифру.
Аналогичным образом можно выполнить перевод числа из шестнадцатеричной формы в двоичную и обратно. В этом случае для представления шестнадцатеричной цифры потребуется четыре двоичных разряда. Четыре двоичных разряда обычно называют тетрадой. Иногда при переводе иностранной литературы используется термин нибл.
Составим таблицу соответствия двоичных тетрад и шестнадцатеричных цифр. Для этого будем просто прибавлять единицу к значению предыдущей строки в каждом столбце таблицы, в соответствии с используемой в этом столбце системой счисления. Результат приведён в таблице 5.7.
В качестве примера использования таблицы 5.7 переведем шестнадцатеричное число 7С16 в двоичную форму представления:
Пример преобразования двоичного числа в восьмеричную и шестнадцатеричную форму приведён на рисунке 5.1.
Рисунок 5.1 – Пример преобразования двоичного числа в восьмеричную и шестнадцатеричную форму
На этом рисунке внизу выделены двоичные тетрады и соответствующие им шестнадцатеричные цифры. Их соответствие можно проверить при помощи таблицы 5.7. Сверху выделены триады и соответствующие им восьмеричные цифры. Старшая триада получилась неполной. Для того чтобы можно было бы воспользоваться таблицей 5.6. её необходимо дополнить старшими незначащими нулями