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

УРОК №19-20.

Тема

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

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

Задачи урока:

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

Материалы и оборудование к уроку: карточки для самостоятельной работы, таблицы умножения.

Тип урока: комбинированный урок

Форма проведения урока : индивидуальная, фронтальная.

Ход урока:

1. Проверка домашнего задания.

Домашнее задание:

1. № 2.41 (1 и 2 столбик), практикум, стр. 55

Решение:

А) 11102+10012 =101112

Б) 678+238=1128

В)AF16+9716 = 14616

Г)11102-10012 =1012

Д) 678-238 =448

Е) АF16-9716 =1816

2. №2.48 (стр. 56)

2. Самостоятельная работа «Сложение и вычитание чисел в различных системах счисления». (20 минут)

Самостоятельная работа. 10 класс .

11 + 1110 ; 10111+111 ; 110111+101110

3. Вычесть: 10111-111; 11 - 1110

4. Сложить и вычесть в 8-ричной системе: 738 и 258

Вариант 1

Самостоятельная работа. 10 класс. Двоичная система счисления: перевод 2® 10; сложение.

1. Выполнить перевод из двоичной системы счисления в десятичную.

2. Сложить два двоичных числа.

1110+111 ; 111+1001 ; 1101+110001

3. Вычесть: 111-1001; 1110+111

4. Сложить и вычесть в 16-ричной системе: 7316 и 2916

Вариант 2

3. Новый материал.


1. У м н о ж е н и е

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

Умножение в двоичной системе

Умножение в восьмеричной системе

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

Пример 1. Перемножим числа 5 и 6 в десятичной, двоичной, восьмеричной и шестнадцатеричной системах счисления.

https://pandia.ru/text/80/244/images/image004_82.gif" width="419" height="86 src=">
Ответ: 5 . 6 = 3010 = 111102 = 368.
Проверка.
111102 = 24 + 23 + 22 + 21 = 30;
368 = 381 + 680 = 30.

Пример 2. Перемножим числа 115 и 51 в десятичной, двоичной, восьмеричной и шестнадцатеричной системах счисления.

https://pandia.ru/text/80/244/images/image006_67.gif" width="446" height="103 src=">
Ответ: 115 . 51 = 586510 = 10110111010012 = 133518.
Проверка. Преобразуем полученные произведения к десятичному виду:
10110111010012 = 212 + 210 + 29 + 27 + 26 + 25 + 23 + 20 = 5865;
133518 = 1 . 84 + 3 . 83 + 3 . 82 + 5 . 81 + 1 . 80 = 5865.

2. Д е л е н и е

Деление в любой позиционной системе счисления производится по тем же правилам, как и деление углом в десятичной системе. В двоичной системе деление выполняется особенно просто , ведь очередная цифра частного может быть только нулем или единицей.
Пример 3. Разделим число 30 на число 6.

https://pandia.ru/text/80/244/images/image008_48.gif" width="478" height="87 src=">
Ответ: 30: 6 = 510 = 1012 = 58.

Пример 4. Разделим число 5865 на число 115.

https://pandia.ru/text/80/244/images/image010_50.gif" width="400" height="159 src=">

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

https://pandia.ru/text/80/244/images/image012_40.gif" width="416" height="18 src=">

https://pandia.ru/text/80/244/images/image014_36.gif" width="72" height="89 src=">
Ответ: 35: 14 = 2,510 = 10,12 = 2,48.
Проверка. Преобразуем полученные частные к десятичному виду:
10,12 = 21 + 2 -1 = 2,5;
2,48 = 2 . 80 + 4 . 8-1 = 2,5.

4. Домашнее задание:

1. Приготовиться к контрольной работе № 2 «По теме Системы счисления. Перевод чисел. Арифметические операции в системах счисления»

2. Практикум Угринович, №2.46, 2.47, стр. 56.

Литература:

1. Практикум по информатике и информационным технологиям . Учебное пособие для общеобразовательных учреждений / , . – М.: Бином. Лаборатория Знаний, 2002. 400 с.: ил.

2. Угринович и информационные технологии. Учебник для 10-11 классов. – М.:БИНОМ. Лаборатория знаний, 2003.

3. Шауцукова: Учебн. пособие для 10-11 кл. общеобразоват. учреждений. – М.: Просвещение, 2003.9 - с. 97-101, 104-107.

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

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

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

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

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

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

Двоичная

Пятеричная

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

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

При сложении чисел в произвольной позиционной системе счисления с основанием р в каждом разряде производится сложение цифр слагаемых и цифры, переносимой из соседнего младшего разряда, если она имеется. При этом необходимо учитывать, что если при сложении чисел получилось число, большее или равное р, то представляем его в виде p*k + b, где kÎ N – количество единиц переноса в следующий разряд 0 ≤ b ≤ p - 1

При сложении и вычитании двоичных чисел достаточно знать правила сложения двоичных цифр (таблицу сложения двоичной системы):

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

+ 1101 2

1 +1 = 2 = 1

0 +0 + 1 = 1

1 + 1 = 2 = 1 *2 + 0 («1» переносится в старший разряд)

1 + 0 + 1 = 2 = 1 *2 + 0 («1» переносится в старший разряд)

5 +6 = 11 = 1 *8 + 3 («1» переносится в старший разряд)

4 +1 + 1 = 6

6 + 3 = 9 = 1 *8 + 1 («1» переносится в старший разряд)

7 + 0 + 1 = 8 = 1 *8 + 0 («1» переносится в старший разряд)

+ E836 16

10 +6 = 16 = 1 *16 + 0 («1» переносится в старший разряд)

15 +3 + 1 = 19 = 1 *16 + 3 («1» переносится в старший разряд)

9 + 8 + 1 = 18 = 1 *16 + 2 («1» переносится в старший разряд)

0 + 14 + 1 = 15 = F

При вычитании чисел в р цифры вычитаются поразрядно. Если в рассматриваемом разряде необходимо от меньшего числа отнять большее, то занимается единица в следующем (старшем разряде). Занимаемая единица равна р единицам этого разряда (аналогично, когда занимаем единицу в десятичной системе счисления, то занимаемая единица равна 10.) Для двоичной системы счисления занимаемая единица = 2 10 = 10 2 , для восьмеричной системы счисления занимаемая единица = 8 10 = 10 8 , для шестнадцатеричной системы счисления занимаемая единица = 16 10 = 10 16 .

Примеры: Точками в примерах с вычитанием отмечены разряды, из которых приходилось занимать.

2 – 1 = 1 (так как 0 < 1 пришлось занять из соседнего разряда)

2 – 1 = 1 (так как 0 < 1 пришлось занять из соседнего разряда)

В этом разряде остался 0, вновь пришлось занимать из старшего разряда: 2 – 1 = 1

В этом разряде остался 0

8 + 5 – 6 = 7 (так как 5 < 6 пришлось занять из соседнего разряда)


8 + 0 – 4 = 4 (после того, как заняли, в этом разряде остался 0)

16 + 6 – 10 = 12 = C 16 (заняли из соседнего разряда)

16 + 2 – 15 = 3 (В этом разряде осталась 2, заняли из соседнего разряда)

16 + 7 – 9 = 14 = Е 16

В этом разряде осталась D 16

Иногда при вычитании необходимо занимать единицу через несколько разрядов, так как в соседнем или в нескольких соседних разрядах подряд стоят нули. В этом случае надо иметь в виду, что в этих разрядах на месте нулей после того, как заняли, будет располагаться «последняя цифра» той системы счисления, в которой записано уменьшаемое, т.е. цифра 1 для двоичной, цифра 7 для восьмеричной и цифра F для 16-ричной систем счисления.

· 1 1 2 · 7 7 8 · F F 16

1000 2 1000 8 1000 16

11 2 11 8 AD 16

101 2 767 8 F53 16

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

Умножение в позиционной системе счисления является достаточно сложным действием, поэтому более надежно умножение выполнять в 10-тичной системе с предварительным и завершающим переводом в исходную систему. Однако умножение на 2 можно представить в виде суммы. Например: 2*Т, где Т = 315 8

2 * 315 8 = 315 8

При умножении на 7 10 , 8 10 , 9 10 можно воспользоваться переводом в десятичную систему. Но так как десятичное число 8 равно 8-ричному числу 10 (8 10 = 10 8), тогда умножение можно заменить умножением на десять с последующим вычитанием или сложением.

1) 8 10 * 6271 8 = 10 8 * 6271 8 = 62710 8

2) 7 10 * 6271 8 = (8 10 – 1 10) * 6271 8 = (10 8 – 1 8) * 6271 8 =

3) 9 10 * 6271 8 = (8 10 + 1 10) * 6271 8 = (10 8 + 1 8) * 6271 8 =

Замечание . Если второй сомножитель представлен в двоичной или шестнадцатеричной системе, его предварительно необходимо перевести в восьмеричную систему счисления, например: 7 10 * А3С5 16 .

Сначала переведите А3С5 16 в восьмеричную систему, используя метод тетрад и триад, а затем выполните умножение.

А3С5 16 = 1010 0011 1100 0101 2 = 001 010 001 111 000 101 2 = 121705 8 .

7 10 * 121705 8 = (8 10 – 1 10) * 121705 8 = (10 8 – 1 8) * 121705 8 =

121705 8

При умножении на 15 10 , 16 10 , 17 10 можно воспользоваться тем фактом, десятичное число 16 равно 16-ричному числу 10 (16 10 = 10 16). В этом случае, как и в предыдущем, умножение можно заменить умножением на десять с последующим вычитанием или сложением.

1) 16 10 * A6D5 16 = 10 16 * A6D5 16 = A6D50 16

2) 15 10 * A6D5 16 = (16 10 – 1 10) * A6D5 16 = (10 16 – 1 16) * A6D5 16 =

3) 17 10 * A6D5 16 = (16 10 + 1 10) * A6D5 16 = (10 16 + 1 16) * A6D5 16 =

Замечание . Если второй сомножитель представлен в двоичной или восьмеричной системе, его предварительно необходимо перевести в шестнадцатеричную систему счисления, например: 17 10 * 7154 8 .

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

7154 8 = 111 001 101 100 2 = 1110 0110 1100 2 = E6C 16 .

17 10 * E6C 16 = (16 10 + 1 10) * E6C 16 = (10 16 + 1 16) * E6C 16 =

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

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

Примеры с двоичными числами:

101001 101 10111 1100,01

1011 + 011 + 10110 - 0,10

110100 1000 101101 1011,11

Умножение

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

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

00000 + 100111

00000 + 100111

11011 + 100111

11110011 101011010001

Деление

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

101001101 1001 − 333 9 11110 110

1001 100101 27 37 - 110 101

1001 1001000 1000

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

Процессор не умеет непосредственно осуществлять операцию вычитания, поэтому вычитание приходится сводить к сложению путем представления вычитаемого в так называемом дополнительном коде. Рассмотрим прежде всего обратный код числа. Например, 1001 (исходное число), а 0110 - обратный код + 1 = 0111 дополнительный код.

Т.е. вычитание в двоичной арифметике – это сложение уменьшаемого с дополнительным кодом вычитаемого. Например, из 101 2 вычесть 10 2

1) 10 2 = 010, его обратный код 101

2) затем увеличив обратный код на 1 получим дополнительный код 110

110 (или 5-2=3)

4) Отметим, что перенос из старшего результата означает, что полученный результат положителен

Вопросы для самоконтроля

    Что называется системой счисления?

    В чем отличие позиционных систем счисления от непозиционных?

    Как определяется процесс кодирования информации и почему в нем существует необходимость?

    Какие единицы измерения количества информации вы знаете?

    Почему двоичное представление информации входит в число основных принципов работы современных ЭВМ?

    Переведите из двоичной системы счисления в десятичную: 10100011 2 и 1101011 2 .

    Что такое базис естественной позиционной системе счисления?

    Какие методы перевода чисел от одной системы счисления в другую вы знаете?

Дополнительный материал

Пример 1. Сложим числа 15 и 6 в различных системах счисления.

Пример 2. Сложим числа 15, 7 и 3.

Шестнадцатеричная: F 16 +7 16 +3 16

Ответ: 5+7+3 =25 10 =11001 2 =31 8 = 9 16 .

Проверка: 11001 2 = 2 4 + 2 3 + 2 0 = 16+8+1=25, 31 8 = 3*8 1 + 1*8 0 = 24 + 1 = 25, 19 16 = 1*16 1 + 9*16 0 = 16+9 = 25.

Пример 3. Сложим числа 141,5 и 59,75.

Ответ: 141,5 + 59,75 = 201,25 10 = 11001001,01 2 = 311,2 8 = C9,4 16

Проверка. Преобразуем полученные суммы к десятичному виду: 11001001,01 2 = 2 7 + 2 6 + 2 3 + 2 0 + 2 -2 = 201,25 311,2 8 = 3*8 2 + 1 8 1 + 1*8 0 + 2*8 -1 = 201,25 C9,4 16 = 12*16 1 + 9*16 0 + 4*16 -1 = 201,25

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

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

При сложении двух единиц происходит переполнение разряда и производится перенос единицы в старший разряд, при вычитании 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) производится нормализация полученного результата.