Реклама:

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

Преобразование десятичных чисел в двоичные можно совершать двумя разными способами. Первый способ непосредственно вытекает из определения двоичных чисел. Самая большая степень двойки, меньшая, чем число, вычитается из этого числа. Та же операция проделывается с полученной разностью. Когда число разложено по степеням двойки, двоичное число может быть получено следующим образом. Единички ставятся в тех позициях, которые соответствуют полученным степеням двойки, а нули - во всех остальных позициях.

Второй способ - деление числа на 2. Частное записывается непосредственно под исходным числом, а остаток (0 или 1) записывается рядом с частным. То же проделывается с полученным частным. Процесс повторяется до тех пор, пока не останется 0. В результате должно получиться две колонки чисел - частных и остатков. Двоичное число можно считать из колонки остатков снизу вверх. На рис. А.4 показано, как происходит преобразование из десятичной в двоичную систему.

Пример 1

   

Шестнадцатеричное число

19 4 8

В 6

Двоичное число

0001100101001000

.10 110 110 0

Восьмеричное число

14 5 10

5 5 4

Пример 2

   

Шестнадцатеричное число

^_7_^ ^_В_^ ^_А_^ ^_3_^

. ^_В_^ ^_СЦ ^_4_

Двоичное число

0111101110100011

.1 01111000100

Восьмеричное число

7 5 6 4 3

.5 7 0 4

Рис. А.З. Примеры преобразования из восьмеричной системы счисления в двоичную и из шестнадцатеричной в двоичную

Преобразование чисел из одной системы счисления в другую

Рис. А.4. Преобразование десятичного числа 1492 в двоичное путем последовательного деления (сверху вниз). Например, 93 делится на 2, получается 46 и остаток 1. Остаток записывается в строку снизу

Двоичные числа можно преобразовывать в десятичные двумя способами. Первый способ - суммирование степеней двойки, которые соответствуют битам 1 в двоичном числе. Например:

10110 = 24 + 22 + 21 = 16 + 4 + 2 = 22.

Во втором способе двоичное число записывается вертикально по одному биту в строке, крайний левый бит находится внизу. Самая нижняя строка - это строка 1, затем идет строка 2 и т. д. Десятичное число строится напротив этой колонки. Сначала обозначим строку 1. Элемент строки п состоит из удвоенного элемента строки п - 1 плюс бит строки п (0 или 1). Элемент, полученный в самой верхней строке, и будет ответом. Метод иллюстрирует рис. А.5.

Рис. А.5. Преобразование двоичного числа 101110110111 в десятичное путем последовательного удваивания снизу вверх. В каждой следующей строке удваивается значение предыдущей строки и прибавляется соответствующий бит. Например, 374 умножается на 2 и прибавляется бит соответствующей строки (в данном случае 1).

В результате получается 749

Преобразование из десятичной в восьмеричную или шестнадцатеричную систему можно выполнить либо путем преобразования сначала в двоичную, а затем в нужную нам систему, либо путем вычитания степеней 8 или 16.

Преобразование чисел из одной системы счисления в другую

Позиционные системы счисления || Оглавление || Отрицательные двоичные числа