Арифметика восьмеричной системы счисления. Арифметические операции в системах счисления

Примечание:
Выполнять действия можно только в одной системе счисления, если вам даны разные системы счисления, сначала переведите все числа в одну систему счисления
Если вы работаете с системой счисления, основание которой больше 10 и у вас в примере встретилась буква, мысленно замените её цифрой в десятичной системе, проведите необходимые операции и переведите результат обратно в исходную систему счисления

Сложение:
Все помнят, как в начальной школе нас учили складывать столбиком, разряд с разрядом. Если при сложении в разряде получалось число больше 9, мы вычитали из него 10, полученный результат записывали в ответ, а 1 прибавляли к следующему разряду. Из этого можно сформулировать правило:

  1. Складывать удобнее «столбиком»
  2. Складывая поразрядно, если цифра в разряде > больше самой большой цифры алфавита данной Системы счисления, вычитаем из этого числа основание системы счисления.
  3. Полученный результат записываем в нужный разряд
  4. Прибавляем единицу к следующему разряду
Пример:

Сложить 1001001110 и 100111101 в двоичной системе счисления

1001001110

100111101

1110001011

Ответ: 1110001011

Сложить F3B и 5A в шестнадцатеричной системе счисления

FE0

Ответ: FE0


Вычитание:Все помнят, как в начальной школе нас учили вычитать столбиком, разряд из разряда. Если при вычитании в разряде получалось число меньше 0, мы то мы «занимали» единицу из старшего разряда и прибавляли к нужной цифре 10, из нового числа вычитали нужное. Из этого можно сформулировать правило:

  1. Вычитать удобнее «столбиком»
  2. Вычитая поразрядно, если цифра в разряде < 0, вычитаем из старшего разряда 1, а к нужному разряду прибавляем основание системы счисления.
  3. Производим вычитание
Пример:

Вычесть из 1001001110 число 100111101 в двоичной системе счисления

1001001110

100111101

100010001

Ответ: 100010001

Вычесть из F3B число 5A в шестнадцатеричной системе счисления

D9 6

Ответ: D96

Самое главное, не забывайте про то, что у вас в распоряжении только цифры данной системы счисления, так же не забывайте про переходы между разрядными слагаемыми.
Умножение:

Умножение в других системах счисления происходит точно так же, как и мы привыкли умножать.

  1. Умножать удобнее «столбиком»
  2. Умножение в любой системе счисления происходит по тем же правилам, что и в десятичной. Но мы можем использовать только алфавит, данный системы счисления
Пример:

Умножить 10111 на число 1101 в двоичной системе счисления

10111

1101

10111

10111

10111

100101011

Ответ: 100101011

Умножить F3B на число A в шестнадцатеричной системе счисления

F3B

984E

Ответ: 984E

Ответ: 984E

Самое главное, не забывайте про то, что у вас в распоряжении только цифры данной системы счисления, так же не забывайте про переходы между разрядными слагаемыми.

Деление:

Деление в других системах счисления происходит точно так же, как и мы привыкли делить.

  1. Делить удобнее «столбиком»
  2. Деление в любой системе счисления происходит по тем же правилам, что и в десятичной. Но мы можем использовать только алфавит, данный системы счисления

Пример:

Разделить 1011011 на число 1101 в двоичной системе счисления

Разделить F 3 B на число 8 в шестнадцатеричной системе счисления

Самое главное, не забывайте про то, что у вас в распоряжении только цифры данной системы счисления, так же не забывайте про переходы между разрядными слагаемыми.

НЕПОЗИЦИОННЫЕ

Непозиционные системы счисления

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

  • 1 - |
  • 2 - ||
  • 3 - |||, и т. д.

Таким образом, этот единственный символ имеет значение единицы , из которой последовательным сложением получается необходимое число:

||||| = 1+1+1+1+1 = 5.

Модификацией единичной системы является система с основанием, в которой есть символы не только для обозначения единицы, но и для степеней основания. Например, если за основание взято число 5, то будут дополнительные символы для обозначения 5, 25, 125 и так далее.

Примером такой системы с основанием 10 является древнеегипетская, возникшая во второй половине третьего тысячеления до новой эры. В этой системе имелись следующие иероглифы:

  • шест - единицы,
  • дуга - десятки,
  • пальмовый лист - сотни,
  • цветок лотоса - тысячи.

Числа получались простым сложением, порядок следования мог быть любым. Так, для обозначения, например, числа 3815, рисовали три цветка лотоса, восемь пальмовых листов, одну дугу и пять шестов. Более сложные системы с дополнительными знаками - старая греческая, римская. Римская также использует элемент позиционной системы - большая цифра, стоящая перед меньшей, прибавляется, меньшая перед большей - вычитается: IV = 4, но VI = 6, этот метод, правда, применяется исключительно для обозначения чисел 4, 9, 40, 90, 400, 900, 4000, и производных их сложением.

Новогреческая и древнерусская системы использовали в качестве цифр 27 букв алфавита, где ими обозначалось каждое число от 1 до 9, а также десятки и сотни. Такой подход обеспечил возможность записывать числа от 1 до 999 без повторений цифр.

В старорусской системе для обозначения больших чисел использовались специальные обрамления вокруг цифр.

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

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

Система счисления – совокупность приемов и правил для записи чисел цифровыми знаками или символами.

Все системы счисления можно разделить на два класса: позиционные и непозиционные . В классе позиционных систем для записи чисел в различных системах счисления используется некоторое количество отличных друг от друга знаков. Число таких знаков в позиционной системе счисления называется основанием системы счисления. Ниже приведена таблица, содержащая наименования некоторых позиционных систем счисления и перечень знаков (цифр), из которых образуются в них числа.

Некоторые системы счисления

Основание Система счисления Знаки
Двоичная 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

В позиционной системе счисления относительной позиции цифры в числе ставится в соответствие весовой множитель, и число может быть представлено в виде суммы произведений коэффициентов на соответствующую степень основания системы счисления (весовой множитель):

A n А n–1 A n–2 ...A 1 A 0 , A –1 A –2 ... =

A n B n + A n-1 B n-1 + ... + A 1 B 1 + A 0 B 0 + A –1 B –1 + A –2 B –2 + ...

(знак «,» отделяет целую часть числа от дробной. Таким образом, значение каждого знака в числе зависит от позиции, которую занимает знак в записи числа. Именно поэтому такие системы счисления называют позиционными).

Позиционная система счисления – система, в которой величина числа определяется значениями входящих в него цифр и их относительным положением в числе.

23,45 10 = 2 ⋅ 10 1 + 3 ⋅ 10 0 + 4 ⋅ 10 –1 + 5 ⋅ 10 –2 .

Десятичный индекс внизу указывает основание системы счисления.

692 10 = 6 ⋅ 10 2 + 9 ⋅ 10 1 + 2 ⋅ 10 0 ;

1101 2 = 1 ⋅ 2 3 + 1 ⋅ 2 2 + 0 ⋅ 2 1 + 1 ⋅ 2 0 = 13 10 ;

112 3 = 1 ⋅ 3 2 + 1 ⋅ 3 1 + 2 ⋅ 3 0 = 14 10 ;

341,5 8 = 3 ⋅ 8 2 + 4 ⋅ 8 1 + 1 ⋅ 8 0 + 5 ⋅ 8 –1 = 225,125 10 ;

A1F,4 16 = А ⋅ 16 2 + 1 ⋅ 16 1 + F ⋅ 16 0 + 4 ⋅ 16 –1 = 2591,625 10 .

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



В общем случае, чтобы перевести целую часть числа из десятичной системы в систему с основанием В, необходимо разделить ее на В. Остаток даст младший разряд числа. Полученное при этом частное необходимо вновь разделить на В – остаток даст следующий разряд числа и т.д. Деления продолжают до тех пор, пока частное не станет меньше основания. Значения получившихся остатков, взятые в обратной последовательности, образуют искомое двоичное число.

Пример перевода целой части: Перевести 25 10 в число двоичной системы.

25 / 2 = 12 с остатком 1,

12 / 2 = 6 с остатком 0,

6 /2 = 3 с остатком 0,

Целая и дробная части переводятся порознь. Для перевода дробной части ее необходимо умножить на В. Целая часть полученного произведения будет первым (после запятой, отделяющей целую часть от дробной) знаком. Дробную же часть произведения необходимо вновь умножить на В. Целая часть полученного числа будет следующим знаком и т.д.

Для перевода дробной части (или числа, у которого «0» целых) надо умножить ее на 2. Целая часть произведения будет первой цифрой числа в двоичной системе. Затем, отбрасывая у результата целую часть, вновь умножаем на 2 и т.д. Заметим, что конечная десятичная дробь при этом вполне может стать бесконечной (периодической) двоичной.

Пример перевода дробной части: Перевести 0,73 10 в число двоичной системы.

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,73 10 = 0,1011 2 .

Над числами, записанными в любой системе счисления, можно производить различные арифметические операции. Арифметические операции во всех позиционных системах счисления выполняются по одним и тем же хорошо известным вам правилам.



Рассмотрим сложение двух чисел с основание десять:

При сложении числа 6 и 7 результат можно представить, как выражение 10 + 3, где 10, является полным основанием для десятичной системы счисления. Заменим 10 (основание) на 1 и подставим слева от цифры 3. Получится:

6 10 + 7 10 = 13 10 .

Рассмотрим сложение двух чисел с основание восемь:

При сложении числа 6 и 7 результат можно представить, как выражение 8 + 5, где 8, является полным основанием для восьмеричной системы счисления. Заменим 8 (основание) на 1 и подставим слева от цифры 5. Получится:

6 8 + 7 8 = 15 8 .

Рассмотрим сложение двух больших чисел с основание восемь:

Сложение начинается с младшего разряда. Итак, 4 8 + 6 8 представляем, как 8 (основание) + 2. Заменяем 8 (основание) на 1 и добавляем эту единицу к цифрам старшего разряда. Далее складываем следующие разряды: 5 8 + 3 8 + 1 8 представляем, как 8 + 1, заменяем 8 (основание) на 1 и добавляем ее к старшему разряду. Далее, 2 8 + 7 8 + 1 8 представляем, как 8 (основание) + 2, заменяем 8 (основание) на 1 и подставляем слева от получившегося числа (в позицию старшего разряда). Таким образом, получается:

254 8 + 736 8 = 1212 8 .

276 8 + 231 8 = 527 8 ,

4A77 16 + BF4 16 = 566B 16 ,

1100110 2 + 1100111 2 = 11001101 2 .

Другие арифметические операции (вычитание, умножение и деление) в различных системах счисления выполняются аналогично.

Рассмотрим умножение «столбиком», на примере двух чисел двоичной системы:

11101 2 · 101 2

Записываем числа друг под другом, в соответствии с разрядами. Затем производим поразрядное перемножение второго множителя на первый и записываем со смещением влево, так же, как при умножении десятичных чисел. Остается сложить «смещенные» числа, учитывая основание чисел, в данном случае двоичное.

преобразуем получившийся результат к основанию 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

Таким образом, A31 16 · 29 16 = 1A1D9 16 .

527 8 – 276 8 = 231 8 ,

566B 16 – 4A77 16 = BF4 16 ,

11001101 2 – 1100110 2 = 1100111 2 ,

276 8 · 231 8 = 70616 8 ,

4A77 16 · BF4 16 = 37A166C 16 ,

1100110 2 · 1100111 2 = 10100100001010 2 .

С точки зрения изучения принципов представления и обработки информации в компьютере, обсуждаемые системы (двоичная, восьмеричная и шестнадцатеричная) представляют большой интерес, хотя компьютер обрабатывает данные только преобразованные к двоичному коду (двоичная система счисления). Однако, часто с целью уменьшения количества записываемых на бумаге или вводимых с клавиатуры компьютера знаков бывает удобнее пользоваться восьмеричными или шестнадцатеричными числами, тем более что, как будет показано далее, процедура взаимного перевода чисел из каждой из этих систем в двоичную очень проста – гораздо проще переводов между любой из этих трех систем и десятичной.

Представим числа различных систем счисления соответственно друг другу:

Десятичная Шестнадцатеричная Восьмеричная Двоичная
A
B
C
D
E
F

Из таблицы видно, что числа системы с основанием 2, 8 и 16 имеют периодические закономерности. Так, восемь значений восьмеричной системы, то есть (от 0 до 7 или полное основание) соответствуют трем разрядам (триады ) двоичной системы. Таким образом, для описания чисел одного разряда восьмеричной системы требуется ровно три разряда двоичной. Аналогично и с числами шестнадцатеричной системы. Только для их описания требуется ровно четыре разряда (тетрады ) двоичной системы.

Отсюда следует, что для перевода любого целого двоичного числа в восьмеричное, необходимо разбить его справа налево на группы по 3 цифры (самая левая группа может содержать менее трех двоичных цифр), а затем каждой группе поставить в соответствие ее восьмеричный эквивалент.

Например, требуется перевести 11011001 2 в восьмеричную систему.

Разбиваем число на группы по три цифры 011 2 , 011 2 и 001 2 . Подставляем соответствующие цифры восьмеричной системы. Получаем 3 8 , 3 8 и 1 8 или 331 8 .

11011001 2 = 331 8 .

Аналогично осуществляются и обратные переводы, например:

Перевести AB5D 16 в двоичную систему счисления.

Поочередно заменяем каждый символ числа AB5D 16 на соответствующее число из двоичной системы. Получим 1010 16 , 1011 16 , 0101 16 и 1101 16 или 1010101101011101 2 .

AB5D 16 = 1010101101011101 2 .

Кроме рассмотренных выше позиционных систем счисления существуют такие, в которых значение знака не зависит от того места, которое он занимает в числе. Такие системы счисления называются непозиционными . Наиболее известным примером непозиционной системы являетсяримская . В этой системе используется 7 знаков (I, V, X, L, С, D, М), которые соответствуют следующим величинам:

Правила записи чисел римскими цифрами : – если большая цифра стоит перед меньшей, то они складываются (принцип сложения), – если меньшая цифра стоит перед большей, то меньшая вычитается из большей (принцип вычитания).

Второе правило применяется для того, чтобы избежать четырёхкратного повторения одной и той же цифры. Так, римские цифры I, Х, С ставятся соответственно перед Х, С, М для обозначения 9, 90, 900 или перед V, L, D для обозначения 4, 40, 400.

Примеры записи чисел римскими цифрами:

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 Какая система счисления не нашла широкого применения в компьютерной технике

Восьмеричная

Двоичная

Пятеричная

Шестнадцатеричная

Арифметические операции в позиционных системах счисления

Арифметические операции во всех позиционных системах счисления выполняются по одним и тем же хорошо известным вам правилам.

Сложение. Рассмотрим сложение чисел в двоичной системе счисления. В его основе лежит таблица сложения одноразрядных двоичных чисел:

0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 10

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

Сложение многоразрядных двоичных чисел происходит в соответствии с вышеприведенной таблицей сложения с учетом возможных переносов из младших разрядов в старшие. В качестве примера сложим в столбик двоичные числа 110 2 и 11 2:

Проверим правильность вычислений сложением в десятичной системе счисления. Переведем двоичные числа в десятичную систему счисления и затем их сложим:

110 2 = 1 × 2 2 + 1 × 2 1 + 0 × 2 0 = 6 10 ;

11 2 = 1 × 2 1 + 1 × 2 0 = 3 10 ;

6 10 + 3 10 = 9 10 .

Теперь переведем результат двоичного сложения в десятичное число:

1001 2 = 1 × 2 3 + 0 × 2 2 + 0 × 2 1 + 1 × 2 0 = 9 10 .

Сравним результаты - сложение выполнено правильно.

Вычитание. Рассмотрим вычитание двоичных чисел. В его основе лежит таблица вычитания одноразрядных двоичных чисел. При вычитании из меньшего числа (0) большего (1) производится заем из старшего разряда. В таблице заем обозначен 1 с чертой:

Умножение. В основе умножения лежит таблица умножения одноразрядных двоичных чисел:

Деление. Операция деления выполняется по алгоритму, подобному алгоритму выполнения операции деления в десятичной системе счисления. В качестве примера произведем деление двоичного числа 110 2 на 11 2:

Для проведения арифметических операций над числами, выраженными в различных системах счисления, необходимо предварительно перевести их в одну и ту же систему.

Задания

1.22. Провести сложение, вычитание, умножение и деление двоичных чисел 1010 2 и 10 2 и проверить правильность выполнения арифметических действий с помощью электронного калькулятора.

1.23. Сложить восьмеричные числа: 5 8 и 4 8 , 17 8 и 41 8 .

1.24. Провести вычитание шестнадцатеричных чисел: F 16 и А 16 , 41 16 и 17 16 .

1.25. Сложить числа: 17 8 и 17 16 , 41 8 и 41 16

СИСТЕМЫ СЧИСЛЕНИЙ

Общие сведения

Краткий обзор. Основные термины и понятия

Система счисления – способ представления любого числа с помощью алфавита символов, называемых цифрами.

Существует много систем счисления, которые можно разбить на 2 вида: непозиционные и позиционные.

Непозиционная система. Примером является римская система счислений. В ней значение каждого символа постоянно, где бы символ ни находился в числе.

I, IX, XXI, LXI, XLII – символом “I” во всех приведенных числах закодирована цифра единица.

Позиционные системы. Пример арабская система.В позиционной системе значение каждой цифры (символа) зависит от места в числе, где записана эта цифра (символ). Убедимся в этом, на примере из принятой у нас десятичной системы, выполнив тождественные преобразования числа.

5555=5000+500+50+5. Итак, цифра 5 обозначает 5000, 500, 50 и 5.

В десятичной системе применяется 10 цифр (символов) для записи чисел: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Количество цифр (символов) применяемых в системе называют ее основанием, следовательно, у нашей системы основание равно 10, поэтому ее называют десятичной. Выполним снова преобразования десятичного числа

5685=5*1000+6*100+8*10+5=5*10 3 +6*10 2 +8*10 1 +5*10 0

Мы видим, число можно записать с помощью слагаемых, в которых присутствует основание системы. Оно возведено в степень на единицу меньше, чем порядок цифры в числе справа налево.

Кроме десятичной системы существуют некоторые другие системы счислений. Например, 12-тиричная применялась в России до 1917 года. До сих пор сохранились выражения «дюжина», «чертова дюжина». Ее до сих пор применяют в денежных единицах некоторых стран. На часах 12 чисел. 12 месяцев в году и т.д.

Возможность применять различные системы счислений основана на том, что на носителе информации (бумаге, папирусе) для можно записать много различных символов и придать им некоторое определенное значение.

Способы записи информации в компьютерной технике

На носителях информации, связанных с компьютерной техникой, широких возможностей для записи информации в настоящее время нет. Для записи информации в вычислительной технике используют 2 устойчивых состояния различных устройств.

На дискете или винчестере, которые можно представить состоящими из набора элементарных магнитов, эти магниты можно повернуть северным либо южным полюсом к подложке. Точка на диске может отражать или не отражать свет. На карте из плотной бумаги в определенном месте может быть или не быть отверстие. Электрическая цепь может проводить или не проводить ток. Лампочка может гореть или не гореть. Одному такому состоянию можно придать значение 1, второму 0. Таким образом, на одном элементе памяти можно записать либо 0, либо 1.

Этот минимальный объем информации, который можно записать на таких носителях называютбит .

Исторически сложилось так, что 8 носителей информации объединили в одну ячейку памяти, и количество записываемой в них информации назвали байт. Таким образом 1 байт = 8 бит.
В байте можно записать 2 8 =256 различных комбинаций двоичных чисел, то есть чисел состоящих только из двух цифр 0 и 1: 00000000, 00000001, 00000010, 00000011 . . . 11111110, 11111111.

Если посмотреть несколько ячеек памяти, то в них будет записано множество нулей и единиц. Адреса ячеек памяти также представляются в двоичной системе. Чтобы облегчить человеку работу с такого рода информацией решили работать с ней по правилам 2-ной системы счислений. Числа этой системы можно перевести в другие более привычные и наглядные для человека системы: 8-меричную, 16-тиричную, 10-тичную.

Таблица 1.1.2

Десятичная система Двоичная система Восьмеричная система Шестнадцатеричная система
A
B
C
D
E
F

Из таблицы 1.1.2 видно, какие символы применяются в качестве цифр в разных системах. Если использован последний допустимый символ, то в младшем разряде пишут 0, а в старшем 1.

Арифметические действия в системах счисления

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

Сложение

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

Например 173, 261 8

16, 35 8

Восьмеричная с.с.

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

Арифметические операции в двоичной системе счисления основаны на таблицах сложения, вычитания и умножения одноразрядных двоичных чисел.

При сложении двух единиц происходит переполнение разряда и производится перенос единицы в старший разряд, при вычитании 0–1 производится заем из старшего разряда, в таблице «Вычитание» этот заем обозначен 1 с чертой над цифрой (Таблица 3).

Таблица 3

Ниже приведены примеры выполнения арифметических операций над числами, представленными в различных системах счисления:

Арифметические операции над целыми числами, представленными в различных системах счисления, достаточно просто реализуются с помощью программ Калькулятор и MS Excel.

1.3. Представление чисел в компьютере

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

Целые числа хранятся в памяти в формате с фиксированной запятой. При таком формате представления чисел для хранения целых неотрицательных чисел отводится регистр памяти, состоящий из восьми ячеек памяти (8 бит). Каждому разряду ячейки памяти соответствует всегда один и тот же разряд числа, а запятая находится справа после младшего разряда и вне разрядной сетки. Например, число 110011012 будет храниться в регистре памяти следующим образом:

Таблица 4

Максимальное значение целого неотрицательного числа, которое может храниться в регистре в формате с фиксированной запятой, можно определить из формулы: 2n – 1, где n – число разрядов числа. Максимальное число при этом будет равно 28 – 1 = 25510 = 111111112и минимальное 010 = 000000002. Таким образом, диапазон изменения целых неотрицательных чисел будет находиться в пределах от 0 до 25510.

В отличие от десятичной системы в двоичной системе счисления при компьютерном представлении двоичного числа отсутствуют символы, обозначающие знак числа: положительный (+) или отрицательный (-), поэтому для представления целых чисел со знаком в двоичной системе используются два формата представления числа: формат значения числа со знаком и формат дополнительного кода. В первом случае для хранения целых чисел со знаком отводится два регистра памяти (16 бит), причем старший разряд (крайний слева) используется под знак числа: если число положительное, то в знаковый разряд записывается 0, если число отрицательное, то – 1. Например, число 53610 = 00000010000110002 будет представлено в регистрах памяти в следующем виде:

Таблица 5

а отрицательное число -53610 = 10000010000110002 в виде:

Таблица 6

Максимальное положительное число или минимальное отрицательное в формате значения числа со знаком (с учетом представления одного разряда под знак) равно 2n-1 – 1 = 216-1 – 1 = 215 – 1 = 3276710 = 1111111111111112 и диапазон чисел будет находиться в пределах от -3276710 до 32767.

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

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

1) модуль числа записать прямым кодом в n (n = 16) двоичных разрядах;

2) получить обратный код числа (инвертировать все разряды числа, т. е. все единицы заменить на нули, а нули – на единицы);

3) к полученному обратному коду прибавить единицу к младшему разряду.

Например, для числа -53610 в таком формате модуль будет равен 00000010000110002, обратный код – 1111110111100111, а дополнительный код – 1111110111101000.

Необходимо помнить, что дополнительный код положительного числа – само число.

Для хранения целых чисел со знаком помимо 16-разрядного компьютерного представления, когда используются два регистра памяти (такой формат числа называется также форматом коротких целых чисел со знаком), применяются форматы средних и длинных целых чисел со знаком. Для представления чисел в формате средних чисел используется четыре регистра (4 х 8 = 32 бит), а для представления чисел в формате длинных чисел – восемь регистров (8 х 8 = 64 бита). Диапазоны значений для формата средних и длинных чисел будут соответственно равны: -(231 – 1) … + 231 – 1 и -(263-1) … + 263 – 1.

Компьютерное представление чисел в формате с фиксированной запятой имеет свои преимущества и недостатки. К преимуществам относятся простота представления чисел и алгоритмов реализации арифметических операций, к недостаткам – конечный диапазон представления чисел, который может быть недостаточным для решения многих задач практического характера (математических, экономических, физических и т. д.).

Вещественные числа (конечные и бесконечные десятичные дроби) обрабатываются и хранятся в компьютере в формате с плавающей запятой. При таком формате представления числа положение запятой в записи может изменяться. Любое вещественное число К в формате с плавающей запятой может быть представлено в виде:

где А – мантисса числа; h – основание системы счисления; p – порядок числа.

Выражение (2.7) для десятичной системы счисления примет вид:

для двоичной -

для восьмеричной -

для шестнадцатеричной -

Такая форма представления числа также называется нормальной . С изменением порядка запятая в числе смещается, т. е. как бы плавает влево или вправо. Поэтому нормальную форму представления чисел называют формой с плавающей запятой . Десятичное число 15,5, например, в формате с плавающей запятой может быть представлено в виде: 0,155 · 102; 1,55 · 101; 15,5 · 100; 155,0 · 10-1; 1550,0 · 10-2 и т. д. Эта форма записи десятичного числа 15,5 с плавающей запятой не используется при написании компьютерных программ и вводе их в компьютер (устройства ввода компьютеров воспринимают только линейную запись данных). Исходя из этого выражение (2.7) для представления десятичных чисел и ввода их в компьютер преобразовывают к виду

где Р – порядок числа,

т. е. вместо основания системы счисления 10 пишут букву Е, вместо запятой – точку, и знак умножения не ставится. Таким образом, число 15,5 в формате с плавающей запятой и линейной записи (компьютерное представление) будет записано в виде: 0.155Е2; 1.55Е1; 15.5Е0; 155.0Е-1; 1550.0Е-2 и т.д.

Независимо от системы счисления любое число в форме с плавающей запятой может быть представлено бесконечным множеством чисел. Такая форма записи называется ненормализованной . Для однозначного представления чисел с плавающей запятой используют нормализованную форму записи числа, при которой мантисса числа должна отвечать условию

где |А| - абсолютное значение мантиссы числа.

Условие (2.9) означает, что мантисса должна быть правильной дробью и иметь после запятой цифру, отличную от нуля, или, другими словами, если после запятой в мантиссе стоит не нуль, то число называется нормализованным. Так, число 15,5 в нормализованном виде (нормализованная мантисса) в форме с плавающей запятой будет выглядеть следующим образом: 0,155 · 102, т. е. нормализованная мантисса будет A = 0,155 и порядок Р = 2, или в компьютерном представлении числа 0.155Е2.

Числа в форме с плавающей запятой имеют фиксированный формат и занимают в памяти компьютера четыре (32 бит) или восемь байт (64 бит). Если число занимает в памяти компьютера 32 разряда, то это число обычной точности, если 64 разряда, то это число двойной точности. При записи числа с плавающей запятой выделяются разряды для хранения знака мантиссы, знака порядка, мантиссы и порядка. Количество разрядов, которое отводится под порядок числа, определяет диапазон изменения чисел, а количество разрядов, отведенных для хранения мантиссы, – точность, с которой задается число.

При выполнении арифметических операций (сложение и вычитание) над числами, представленными в формате с плавающей запятой, реализуется следующий порядок действий (алгоритм) :

1) производится выравнивание порядков чисел, над которыми совершаются арифметические операции (порядок меньшего по модулю числа увеличивается до величины порядка большего по модулю числа, мантисса при этом уменьшается в такое же количество раз);

2) выполняются арифметические операции над мантиссами чисел;

3) производится нормализация полученного результата.