Тема 3. Системы счисления. Арифметические операции в системах счисления
Системы счисления
Система счисления – совокупность приемов и правил для записи чисел цифровыми знаками или символами.
Все системы счисления можно разделить на два класса: позиционные и непозиционные. В классе позиционных систем для записи чисел в различных системах счисления используется некоторое количество отличных друг от друга знаков. Число таких знаков в позиционной системе счисления называется основанием системы счисления. Ниже приведена таблица, содержащая наименования некоторых позиционных систем счисления и перечень знаков (цифр), из которых образуются в них числа.
Некоторые системы счисления
Основание | Система счисления | Знаки |
Двоичная | 0,1 | |
Троичная | 0, 1, 2 | |
Четверичная | 0, 1, 2, 3 | |
Пятеричная | 0, 1, 2, 3, 4 | |
Восьмеричная | 0, 1, 2, 3, 4, 5, 6, 7 | |
Десятичная | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 | |
Двенадцатеричная | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B | |
Шестнадцатеричная | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F |
В позиционной системе счисления относительной позиции цифры в числе ставится в соответствие весовой множитель, и число может быть представлено в виде суммы произведений коэффициентов на соответствующую степень основания системы счисления (весовой множитель):
AnАn–1An–2...A1A0 , A–1 A–2 ... =
= AnBn + An-1Bn-1 + ... + A1B1 + A0B0 + A–1B–1 + A–2B–2+ ...
(знак «,» отделяет целую часть числа от дробной. Таким образом, значение каждого знака в числе зависит от позиции, которую занимает знак в записи числа. Именно поэтому такие системы счисления называют позиционными).
Позиционная система счисления – система, в которой величина числа определяется значениями входящих в него цифр и их относительным положением в числе.
Примеры:
23,4510 = 2 ⋅ 101 + 3 ⋅ 100 + 4 ⋅ 10–1 + 5 ⋅ 10–2.
Десятичный индекс внизу указывает основание системы счисления.
69210 = 6 ⋅ 102 + 9 ⋅ 101 + 2 ⋅ 100;
11012 = 1 ⋅ 23+ 1 ⋅ 22+ 0 ⋅ 21+ 1 ⋅ 20 = 1310;
1123 = 1 ⋅ 32 + 1 ⋅ 31 + 2 ⋅ 30 = 1410;
341,58 = 3 ⋅ 82 + 4 ⋅ 81 + 1 ⋅ 80 + 5 ⋅ 8–1 = 225,12510;
A1F,416 = А ⋅ 162 + 1 ⋅ 161 + F ⋅ 160 + 4 ⋅ 16–1 = 2591,62510.
При работе с компьютерами приходится параллельно использовать несколько позиционных систем счисления (чаще всего двоичную, десятичную, восьмеричную и шестнадцатеричную), поэтому большое практическое значение имеют процедуры перевода чисел из одной системы счисления в другую. Заметим, что во всех приведенных выше примерах результат является десятичным числом, и, таким образом, способ перевода чисел из любой позиционной системы счисления в десятичную уже продемонстрирован.
В общем случае, чтобы перевести целую часть числа из десятичной системы в систему с основанием В, необходимо разделить ее на В. Остаток даст младший разряд числа. Полученное при этом частное необходимо вновь разделить на В – остаток даст следующий разряд числа и т.д. Деления продолжают до тех пор, пока частное не станет меньше основания. Значения получившихся остатков, взятые в обратной последовательности, образуют искомое двоичное число.
Пример перевода целой части: Перевести 2510 в число двоичной системы.
25 / 2 = 12 с остатком 1,
12 / 2 = 6 с остатком 0,
6 /2 = 3 с остатком 0,
3 / 2 = 1 с остатком 1.
Далее производим запись в обратном порядке 1, полученная при делении 3 на 2, и все остатки, начиная с последнего. Таким образом: 2510 = 110012.
Целая и дробная части переводятся порознь. Для перевода дробной части ее необходимо умножить на В. Целая часть полученного произведения будет первым (после запятой, отделяющей целую часть от дробной) знаком. Дробную же часть произведения необходимо вновь умножить на В. Целая часть полученного числа будет следующим знаком и т.д.
Для перевода дробной части (или числа, у которого «0» целых) надо умножить ее на 2. Целая часть произведения будет первой цифрой числа в двоичной системе. Затем, отбрасывая у результата целую часть, вновь умножаем на 2 и т.д. Заметим, что конечная десятичная дробь при этом вполне может стать бесконечной (периодической) двоичной.
Пример перевода дробной части: Перевести 0,7310 в число двоичной системы.
0,73 ⋅ 2 = 1,46 (целая часть 1),
0,46 ⋅ 2 = 0,92 (целая часть 0),
0,92 ⋅ 2 = 1,84 (целая часть 1),
0,84 ⋅ 2 = 1,68 (целая часть 1) и т.д.
Таким образом: 0,7310 = 0,10112.
Над числами, записанными в любой системе счисления, можно производить различные арифметические операции. Арифметические операции во всех позиционных системах счисления выполняются по одним и тем же хорошо известным вам правилам.
Рассмотрим сложение двух чисел с основание десять:
610 + 710.
При сложении числа 6 и 7 результат можно представить, как выражение 10 + 3, где 10, является полным основанием для десятичной системы счисления. Заменим 10 (основание) на 1 и подставим слева от цифры 3. Получится:
610 + 710 = 1310.
Рассмотрим сложение двух чисел с основание восемь:
68 + 78.
При сложении числа 6 и 7 результат можно представить, как выражение 8 + 5, где 8, является полным основанием для восьмеричной системы счисления. Заменим 8 (основание) на 1 и подставим слева от цифры 5. Получится:
68 + 78 = 158.
Рассмотрим сложение двух больших чисел с основание восемь:
2548 + 7368.
Сложение начинается с младшего разряда. Итак, 48 + 68 представляем, как 8 (основание) + 2. Заменяем 8 (основание) на 1 и добавляем эту единицу к цифрам старшего разряда. Далее складываем следующие разряды: 58 + 38 + 18 представляем, как 8 + 1, заменяем 8 (основание) на 1 и добавляем ее к старшему разряду. Далее, 28 + 78 + 18 представляем, как 8 (основание) + 2, заменяем 8 (основание) на 1 и подставляем слева от получившегося числа (в позицию старшего разряда). Таким образом, получается:
2548 + 7368 = 12128.
Примеры:
2768 + 2318 = 5278,
4A7716 + BF416 = 566B16,
11001102 + 11001112 = 110011012.
Другие арифметические операции (вычитание, умножение и деление) в различных системах счисления выполняются аналогично.
Рассмотрим умножение «столбиком», на примере двух чисел двоичной системы:
111012 · 1012
Записываем числа друг под другом, в соответствии с разрядами. Затем производим поразрядное перемножение второго множителя на первый и записываем со смещением влево, так же, как при умножении десятичных чисел. Остается сложить «смещенные» числа, учитывая основание чисел, в данном случае двоичное.
Таким образом, 111012 · 1012 = 100100012.
Рассмотрим умножение «столбиком», на примере двух чисел шестнадцатиричной системы:
A3116 · 2916
A | ||
или
преобразуем получившийся результат к основанию 16.
Во втором разряде 29 представляем, как 16 (основание) и 13 (D). Заменим 16 (основание) на 1 и добавим к старшему разряду.
В третьем разряде 96 + 1 = 97. Затем 97 представим, как 6 · 16 (основание) и 1. Добавим 6 старшему разряду.
В четвертом разряде 20 + 6 = 26. Представим 26, как 16 (основание) и 10 (А). Единицу переносим в старший разряд.
При определенных навыках работы с различными системами счисления запись можно было сразу представить, как
A | ||||
B | B | |||
A | D |
Таким образом, A3116 · 2916 = 1A1D916.
Примеры:
5278 – 2768 = 2318,
566B16 – 4A7716 = BF416,
110011012 – 11001102 = 11001112,
2768 · 2318 = 706168,
4A7716 · BF416 = 37A166C16,
11001102 · 11001112 = 101001000010102.
С точки зрения изучения принципов представления и обработки информации в компьютере, обсуждаемые системы (двоичная, восьмеричная и шестнадцатеричная) представляют большой интерес, хотя компьютер обрабатывает данные только преобразованные к двоичному коду (двоичная система счисления). Однако, часто с целью уменьшения количества записываемых на бумаге или вводимых с клавиатуры компьютера знаков бывает удобнее пользоваться восьмеричными или шестнадцатеричными числами, тем более что, как будет показано далее, процедура взаимного перевода чисел из каждой из этих систем в двоичную очень проста – гораздо проще переводов между любой из этих трех систем и десятичной.
Представим числа различных систем счисления соответственно друг другу:
Десятичная | Шестнадцатеричная | Восьмеричная | Двоичная |
A | |||
B | |||
C | |||
D | |||
E | |||
F |
Из таблицы видно, что числа системы с основанием 2, 8 и 16 имеют периодические закономерности. Так, восемь значений восьмеричной системы, то есть (от 0 до 7 или полное основание) соответствуют трем разрядам (триады) двоичной системы. Таким образом, для описания чисел одного разряда восьмеричной системы требуется ровно три разряда двоичной. Аналогично и с числами шестнадцатеричной системы. Только для их описания требуется ровно четыре разряда (тетрады) двоичной системы.
Отсюда следует, что для перевода любого целого двоичного числа в восьмеричное, необходимо разбить его справа налево на группы по 3 цифры (самая левая группа может содержать менее трех двоичных цифр), а затем каждой группе поставить в соответствие ее восьмеричный эквивалент.
Например, требуется перевести 110110012 в восьмеричную систему.
Разбиваем число на группы по три цифры 0112, 0112 и 0012. Подставляем соответствующие цифры восьмеричной системы. Получаем 38, 38 и 18или 3318.
110110012 = 3318.
Аналогично осуществляются и обратные переводы, например:
Перевести AB5D16 в двоичную систему счисления.
Поочередно заменяем каждый символ числа AB5D16 на соответствующее число из двоичной системы. Получим 101016, 101116, 010116 и 110116или 10101011010111012.
AB5D16 = 10101011010111012.
Кроме рассмотренных выше позиционных систем счисления существуют такие, в которых значение знака не зависит от того места, которое он занимает в числе. Такие системы счисления называются непозиционными. Наиболее известным примером непозиционной системы являетсяримская. В этой системе используется 7 знаков (I, V, X, L, С, D, М), которые соответствуют следующим величинам:
1 – 1
V – 5
Х –10
L – 50
С – 100
D – 500
М –1000.
Правила записи чисел римскими цифрами: – если большая цифра стоит перед меньшей, то они складываются (принцип сложения), – если меньшая цифра стоит перед большей, то меньшая вычитается из большей (принцип вычитания).
Второе правило применяется для того, чтобы избежать четырёхкратного повторения одной и той же цифры. Так, римские цифры I, Х, С ставятся соответственно перед Х, С, М для обозначения 9, 90, 900 или перед V, L, D для обозначения 4, 40, 400.
Примеры записи чисел римскими цифрами:
VI = 5+1 = 6,
IV = 5 - 1 = 4 (вместо IIII),
XIX = 10 + 10 - 1 = 19 (вместо XVIIII),
XL = 50 - 10 =40 (вместо XXXX),
XXXIII = 10 + 10 + 10 + 1 + 1 + 1 = 33 и т.д.
Следует отметить, что выполнение даже простых арифметических действий над многозначными числами римскими цифрами весьма неудобно. Вероятно, сложность вычислений в римской системе, основанной на использовании латинских букв, стала одной из веских причин замены ее на более удобную в этом плане десятичную систему.
3.1 Основанием системы счисления называется ...
Совокупность приемов и правил для записи чисел цифровыми знаками или символами
Число знаков использующиеся в определенной позиционной системе счисления
Делитель, использующийся при переводе чисел из одной системы счисления в другую
Общий множитель, при переводе чисел из одной системы счисления в другую
3.2 Какая система счисления не нашла широкого применения в компьютерной технике
Восьмеричная
Двоичная
Пятеричная
Шестнадцатеричная