4. Системы счисления

25.08.2014 16:44 Александр
Печать

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

 

Среди позиционных систем различают однородные и смешанные системы счисления. В однородных системах количество допустимых цифр для всех позиций (разрядов) числа одинаково. Однородной позиционной системой является общепринятая десятичная система счисления (q = 10), использующая для записи чисел десять цифр от 0 до 9. Примером смешанной системы счисления может служить система отсчета времени, где в разрядах секунд и минут используется по 60 градаций, а в разрядах часов – 24 градации и т.д.
Любое число N, записанное в однородной позиционной системе может быть представлено в виде суммы ряда:
,
где q – основание системы счисления ( , целое положительное число);
– цифры системы счисления с основанием  ( );
– номер (вес) позиции (разряда) цифры.
Принято представлять числа в виде последовательности соответствующих цифр (коэффициентов):

Запятая отделяет целую часть числа от дробной части. В вычислительной технике чаще всего для отделения целой части числа от дробной используют точку. Позиции цифр, отсчитываемые от точки, называют разрядами. В позиционной системе счисления вес каждого разряда отличается от веса (вклада) соседнего разряда в число раз, равное основанию системы счисления. В десятичной системе счисления цифры 1-го разряда – единицы, 2-го – десятки, 3-го – сотни и т.д.
Может быть реализовано бесконечное множество различных систем счисления. В цифровых вычислительных машинах в основном используются однородные позиционные системы.
В ЭВМ находят широкое применение системы счисления с основанием  , являющимся степенью числа 2, то есть двоичная, восьмеричная и шестнадцатеричная системы счисления. Примеры записи чисел в различных системах счисления: 1510; 10112; 73.58; 1EA.9F16.
Есть еще один способ обозначения систем счисления: при помощи латинских букв, добавляемых после числа. D – десятичное, B – двоичное, Q – восьмеричное, H – шестнадцатиричное. Например, 15D; 1011B;73.5Q; 1EA.9FH.
В таб. 2 приведены некоторые числа, представленные в различных системах счисления.
Таб. 2. Числа в различных системах счисления

Правила перевода чисел из одной системы счисления в другую
Правила перехода из восьмеричной и шестнадцатеричной системы счисления в двоичную систему счисления.
Для перевода восьмеричного числа в двоичное число достаточно заменить каждую цифру восьмеричного числа соответствующим трехразрядным двоичным числом. Затем необходимо удалить крайние нули слева, а при наличии точки – и крайние нули справа.
Для перехода от шестнадцатеричной к двоичной системе счисления каждая цифра шестнадцатеричного числа заменяется соответствующим четырехразрядным двоичным числом. У двоичного числа удаляются крайние нули слева, а если имеется дробная часть, то и крайние правые нули.
Пример 1. Перевести число 305.4Q из восьмеричной СС в двоичную СС.

Отмеченные крайние нули отбросим. Заметим, что двоичные числа взяты из таб. 1.
Пример 2. Самостоятельно перевести   в двоичную СС.
Пример 3. Перевести число 7D2.EH из шестнадцатеричной СС в дво­ичную СС.

Отмеченные крайние нули следует отбросить.
Пример 4. Самостоятельно перевести   в двоичную СС.
Правила перехода из двоичной системы счисления в восьмеричную и шестнадцатеричную системы счисления
Переход от двоичной СС к восьмеричной (шестнадцатеричной) СС осуществляют по триадам (тетрадам).
Двоичное число разбивается на триады (по три цифры) [на тетрады (по четыре цифры)] влево и вправо от запятой.
Если крайние триады (тетрады) получаются неполными, то они дополняются нулями до триад, т.е. до 3-х цифр [до тетрад, т.е. до 4-х цифр].
Затем каждую группу из трех (четырех) разрядов заменяют соответствующей восьмеричной (шестнадцатеричной) цифрой.
Пример 5. Перевести число 111001100.001В из двоичной СС в вось­меричную СС.

Пример 6. Самостоятельно перевести   в восьмиричную СС.
Пример 7. Самостоятельно перевести   в восьмиричную СС.
Пример 8. Самостоятельно перевести   в восьмиричную СС.
Пример 9. Перевести число 10111110001.001В из двоичной СС в шестнадцатеричную СС.

Общий метод перевода чисел из одной системы счисления в другую систему счисления
При переводе чисел из системы счисления с основанием q1 в систему счисления с основанием q2 необходимо рассмотреть два случая.
1. Пусть q1 < q2.
Число в системе счисления с основанием q1 расписывается по формуле

и вычисляется сумма ряда.
При этом арифметические действия выполняются по правилам системы счисления с основанием q2.
Следуя этому правилу легко перевести числа из двоичной и восьмеричной систем счисления в десятичную.

2. Если q1 > q2, используются два правила: для целых и дробных чисел.
Если переводятся целые числа, то необходимо последовательно делить число в системе q1 (по правилам системы q1) на основание системы q2 до тех пор, пока не частное не станет равным нулю.
Число в основании q2 записывается как последовательность остатков от деления, записанных в обратном порядке, начиная с последнего.
Пример 14. Перевести целое десятичное число 37D в двоичную СС:
Решение:

Пример 15.
Самостоятельно перевести целое десятичное число 1854D в восьмеричную СС  :
Пример 16. Самостоятельно перевести целое десятичное число 19D в двоичную СС.  .
При переводе дробных чисел необходимо последовательно умножать число в системе q1 на основание системы q2 (по правилам системы q1), отделяя после каждого умножения целую часть произведения. Число в системе q2 (после запятой) записывается как последовательность полученных целых частей произведения. Умножение производится до тех пор, пока дробная часть произведения не станет равной нулю.
Это значит, что сделан точный перевод. В противном случае перевод осуществляется до заданной точности.
Пример 17. Перевести правильную десятичную дробь 0.1875D в двоич­ную СС.
Решение:

Пример 18.
Переведем
Решение:

Результат перевода: 
При переводе неправильной дроби переводят отдельно целую и дробную ча­сти, руководствуясь соответствующими правилами.
Пример 19. Самостоятельно перевести десятичное число 9.625D в двоичную СС.
Замечание: Для перевода шестнадцатеричного числа в десятичное число: 1) можно вначале шестнадцатеричное число перевести в двоичное, а затем двоичное представить в виде суммы по формуле (1); 2) можно также представить число в виде полинома (по формуле (1)), подставить в него известные коэффициенты и вычислить сумму.
Пример 20. Перевести шестнадцатеричное число 2Е5.АН в десятичную СС.
Решение:
1.
2E5.A16 = 1011100101.1012 = 1·29 + 0·28 + 1·27 +  1·26 + 1·25 +
+ 0·24 + 0·23 + 1·22 + 0·21 + 1·20 + 1·2-1 + 0·2-2 + 1·2-3 = 512 + 128 +
+ 64 + 32 + 4 + + 1 + 1/2 + 1/8 = 741+5/8 = 741.625.
2.