
- •Методические указания к выполнению расчетно-графической работы по дисциплине «информатика»
- •Основные понятия
- •Двоично-десятичная система счисления
- •Перевод чисел из двоичной системы в восьмеричную и обратно
- •Перевод чисел из двоичной системы в шестнадцатеричную и обратно.
- •Арифметические операции над числами
- •Кодирование чисел
- •Требования безопасности труда
- •Задание к расчетно-графической работе
- •Последовательность выполнения расчетно-графической работы
- •Оформление расчетно-графической работы
- •Рекомендуемая литература
- •Содержание
- •Методические указания к выполнению расчетно-графической работы по дисциплине «информатика»
- •410054, Г. Саратов, ул. Политехническая, 77
Арифметические операции над числами
Арифметические операции над числами включают: сложение, вычитание, умножение и деление. Умножение и деление являются производными от сложения и вычитания. Рассмотрим данные операции для всех рассмотренных выше систем счисления.
Десятичная система счисления. Каждый из нас знает правила сложения, вычитания, умножения и деления в десятичной системе счисления. Вспомним эти правила, которые также распространяются на все системы счисления:
В случае, когда наибольший цифровой символ данной системы счисления возрастает на единицу в данном разряде числа, то в этом разряде образуется ноль и происходит перенос единицы в следующий более высокий разряд.
Если в данном разряде числа происходит вычитание числа большего чем исходное, то происходит заем у старшего разряда, а сам старший разряд уменьшается на единицу.
Двоичная система счисления. В двоичной арифметике используют следующие правила.
Сложение |
Вычитание |
Умножение |
0+0=0 |
0-0=0 |
00=0 |
0+1=1 |
1-0=1 |
01=0 |
1+0=1 |
1-1=0 |
10=0 |
1+1=10 |
10-1=1 |
11=1 |
Сложение двух многоразрядных чисел начинается с младшего разряда, производится поразрядно с учетом единиц переноса из предыдущих разрядов.
Пример № 11.
+
1010
101
1111
При вычитании в каком-либо разряде единицы из нуля, необходимо «занимать» недостающее количество в соседних старших разрядах. Вычитание начинается с младших разрядов.
Пример № 12.
-
1010
101
101
Умножение двух многоразрядных чисел в двоичной системе счисления выполняется по правилам десятичной системы, и результат представлен в двоичном виде.
Пример № 13.
Деление двух многоразрядных чисел представляет собой многократное вычитание делителя из делимого.
Пример № 14.
1010
101
-
101
10
0
Восьмеричная и шестнадцатеричная система счисления. В данных системах счисления сложение, вычитание, умножение и деление выполняется аналогично вычислениям в двоичной системе счисления.
Кодирование чисел
Обычно используется три формы записи целых чисел со знаком: прямой код, обратный код, дополнительный код.
Положительные числа в прямом, обратном, дополнительном кодах изображаются одинаково – двоичными кодами с цифрой 0 в знаковом разряде, который отделяется запятой.
Например: число А=1001112 положительно, значит прямой код равен:
АПК=0,1001112
Отрицательные числа в прямом, обратном и дополнительных кодах имеют разное изображение:
прямой код. В знаковый разряд помещается цифра 1, а в разряды цифровой части помещается двоичный код его абсолютной величины.
Например: число А=1001112 отрицательно, значит прямой код для отрицательного числа равен:
АПК=1,1001112
обратный код получается инвертированием всех цифр двоичного кода абсолютной величины числа, включая разряд знака: нули заменяются единицами, а единицы – нулями.
Свойства обратного кода:
ноль в обратном коде имеет двоякое значение, если ноль положительное число, значит 0,0000, а если ноль отрицательное число, то 1,11111. Двойственное представление нуля явилось причиной того, что все числа в современных ЭВМ представляются не в обратном, а дополнительном коде.
Например: число А=1001112 отрицательно, тогда получим:
АОБ=1,0110002
дополнительный код получается образованием обратного кода с последующим прибавлением единицы к его младшему разряду.
Например: число А=1001112 отрицательно, тогда дополнительный код:
АДК=1001112=1,011000+1=1,0110012
Сравнение форм кодирования целых чисел со знаком показывает, что на преобразование отрицательного числа в обратный код компьютер затрачивает меньше времени, чем на преобразование в дополнительный код, а также время выполнения сложения для дополнительных кодов чисел меньше, чем для их обратных кодов.
Пример № 15. Выполнить следующие действия (С+D), (С-D),
(-С+D), (-С-D), применяя прямой, обратный и дополнительный коды.
С=2210=101102 D=3410=1000102
(С+D). Поскольку числа C и D положительны, то во всех кодах они будут равны. Рассмотрим сложение двух положительных чисел в прямом коде. Так как число С имеет 5 разрядов, то добавим еще один разряд слева, чтобы число разрядов в обоих числах стало одинаковым.
СПК=0,0101102 DПК=0,1000102
0,010110
0,100010
0,111000
+
(С+D)ПК=0,1110002=32+16+8=5610
Вывод: при сложении двух положительных чисел в любом коде результат равен положительному числу в прямом коде.
(С-D) и (-С+D). В данном случае только одно из чисел является отрицательным. Рассмотрим оба случая:
а) С<D, С>0, D<0. Рассмотрим случай, когда число D больше С, и оно отрицательно, для этого переведем число D в дополнительный код, а число С оставим без изменения, так как оно положительно. Получим:
СПК=0,0101102 DДК=1,0111012+1=1,0111102
(С-D)ДК=1,1101002
Вывод: при сложении таких двух чисел результат отрицательный в обратном коде, чтобы получить нормальный вид результата необходимо инвертировать само число кроме знакового разряда.
Ответ: (С-D)0К=1,1101002=1,0010112= - 1110
Теперь рассмотрим случай, когда при сложении этих чисел используется обратный код, тогда:
СПК=0,0101102 DДК=1,0111012
Сложим эти два числа:
1,011101
0,010110
1,110011
1 – машинная единица
1,110100 → 1,001011
+
Вывод: В результате сложения двух чисел с помощью обратного кода, при данных условиях, результат получится отрицательным в обратном коде, увеличенный на машинную единицу.
Ответ: (С-D)пК=1,1101002=1,0010112= - 1110
б) С<D, С<0, D>0. Рассмотрим аналогичный случай. Только теперь число D положительно, а С – отрицательно, поэтому переведем его в дополнительный код.
СДК=1,1010012+1=1,1010102 DПК=0,1000102
+
1,101010
0,100010
10,001100
1
0,001101
Вывод: при сложении таких двух чисел результат получается положительным в прямом коде. Из-за переполнения знакового разряда к младшему разряду прибавляем 1 и получаем окончательный ответ.
Ответ: (С-D)ПК=0,0010112= 1110
Рассмотрим сложение этих двух чисел, но с применением обратного кода.
СОК=1,1010012 DПК=0,1000102
Сложим эти числа:
+

Единица, которая получается при переполнении знакового разряда отбрасывается.
Вывод: результат сложения этих чисел получается положительным и в прямом коде.
(-C+D)=0,0010112= 1110
(-С-D). В данном случае можно поступить двумя способами вынести знак «-» за скобки и сложить два положительных числа в прямом коде. Другой способ – это оба числа перевести в дополнительные коды, а затем их сложить.
СДК=1,1010102 DДК=1,0111102
1,101010
1,011110
10,001000
10,110111
1
0,111000
+
Вывод: при сложении двух отрицательных чисел результат получается положительный, но в обратном коде. Вначале результат необходимо инвертировать, кроме знакового разряда, а затем из-за переполнения знакового разряда к младшему разряду прибавить 1 и получится окончательный ответ.
(-С-D)ОК=0,1110002=32+16+8=5610
Рассмотрим случай для этих двух чисел в обратном коде
СОК=1,1010012 DОК=1,0111012
Сложим и получим
Вывод: результат данного вычисления получается отрицательным в обратном коде.
(-C-D)=1,0001112= 1,1110002= - 5610