в однобайтовом формате

В позиционных системах счисления
Сложение
В двоичной системе:
0+0=0
0+1=1
1+0=1
1+1=10
При сложении цифры суммируются по разрядам, если при
этом возникает избыток, то он переносится влево.
Примеры:
В двоичной системе:
В восьмеричной системе:
11112 + 01102
178 + 68
111
1111
+0110
10101 1+0=1
1+1=2=2+0
1+1+1=3=2+1
1+1=2=2+0
1
17
+ 6
7+6=13=8+5
25
1+1=2
Примеры
Пример 1:
F16 + 616
Пример 2:
11112 + 1112 + 112
Пример 3:
215,48 + 73,68
Вычитание
В двоичной системе:
0-0=0
0-1=11
1-0=1
1-1=0
.
При вычитании из меньшего числа большего производится
заём из старшего разряда.
Примеры
В двоичной системе:
В восьмеричной системе:
1002 - 12
311,28 – 73,68
11
100
1
111
311,2
73,6
215,4 8+2-6=4
11 2-1=1
1-0=1
8-3=5
8-7=1
3-1=1
Примеры
Пример 1:
11001001,012 – 111011,112
Пример 2:
C9,416 – 3B,C16
Умножение
В двоичной системе:
Пример 1:
0·0=0
0·1=0
1·0=0
1·1=1
101
· 110
000
+ 101
101
1012 · 1102
11110
Пример 2:
11100112 · 1100112
Деление
Пример 1:
Пример 2:
110
- 11110
110
101
- 110
110
Пример 3:
111102 : 1102
0
10010112 : 1012
1000112 : 11102
Представление целых чисел в компьютере
Со знаком
Без знака
Примеры:
а) число 7210 = 10010002 в однобайтовом формате:
Номера разрядов 0 1 2 3 4 5 6 7
0 1 0 0 1 0 0 0
Биты числа
б) это же число в двубайтовом формате:
Номера разрядов 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0
Биты числа
в) число 65535 в двубайтовом формате:
Номера разрядов 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Биты числа
Представление целых чисел в компьютере
Без знака
Со знаком
Положительные числа
Число 110=12
Число 12710=11111112
0 0 0 0 0 0 0 1
0 1 1 1 1 1 1 1
Знак числа "+"
Знак числа "+"
Отрицательные числа
Число -110=100000012
Число -12710=111111112
1 0 0 0 0 0 0 1
1 1 1 1 1 1 1 1
Знак числа "-"
Знак числа "-"
Формы записи целых чисел со знаком
1. Прямой код.
Прямой код числа -1
1 0 0 0 0 0 0 1
Знак числа "-"
Прямой код числа -127
1 1 1 1 1 1 1 1
Знак числа "-"
2. Обратный код
Число -1
Код модуля числа
0 0000001
Обратный код числа
1 1 1 1 1 1 1 0
Число -127
Код модуля числа
0 1111111
Обратный код числа
1 0 0 0 0 0 0 0
3. Дополнительный код.
Число -1
1 1 1 1 1 1 1 1
Число -127
1 0 0 0 0 0 0 1
Получение дополнительного кода
Получить дополнительный код можно по
следующему алгоритму:
1) Записать внутреннее представление
положительного числа X;
Пример: -127
0 1 1 1 1 1 1 1
2) Записать обратный код этого числа
заменой во всех разрядах 0 на 1 и 1 на 0;
1 0 0 0 0 0 0 0
3) К полученному числу прибавить 1.
1 0 0 0 0 0 0 1
Выполнение арифметических действий над
целыми числами в компьютере.
В большинстве компьютеров операция
вычитания не используется. Вместо нее
производится сложение обратных или
дополнительных кодов уменьшаемого
и вычитаемого.
Сложение обратных и дополнительных кодов
1. А положительное, B отрицательное и по абсолютной величине
больше, чем А. (Пример: 3+(-10)=-7)
Обратный код:
Дополнительный код:
0 0000011
+ 1 1110101
1 1111000
+ 01 0000011
1110110
1 1111001
2. А положительное, B отрицательное и по абсолютной величине
меньше, чем А. (Пример: 10+(-3)=7)
Обратный код:
Дополнительный код:
0 0001010
+ 1 1111100
1 0 0000110
+1
0 0000111
0 0001010
+ 1 1111101
1 0 0000111
Сложение обратных и дополнительных кодов
3. А и В отрицательные. (Пример:
Обратный код:
1 1111100
+ 1 1111000
1 1 1110100
+1
1 1110101
(-3)+(-7)=-10)
Дополнительный код:
1 1111101
+ 1 1111001
1 1 1110110
Умножение и деление
Во многих компьютерах умножение
производится как последовательность сложений
и сдвигов. Для этого в АЛУ имеется регистр,
называемый накапливающим сумматором,
который до начала выполнения операции
содержит число ноль. В процессе выполнения
операции в нем поочередно размещаются
множимое и результаты промежуточных
сложений, а по завершении операции —
окончательный результат.
Умножение и деление
Другой регистр АЛУ, участвующий в выполнении
этой операции, вначале содержит множитель.
Затем по мере выполнения сложений
содержащееся в нем число уменьшается, пока не
достигнет нулевого значения.
Умножение и деление
Для иллюстрации умножим 010102 на 011012.
0000001010
0000000101
+ 01101
.
0110100101
0011010010
+ 0001101001
01101
.
1000001001
0100000100
0010000010
Умножение и деление
Деление для компьютера является трудной
операцией. Обычно оно реализуется путем
многократного прибавления к делимому
дополнительного кода делителя.
Упражнения
1. Сложите числа
а) 10111012 и 11101112;
б) 1011,1012 и 101,0112;
в) 10112, 112 и 111,12;
г) 10112 , 11,12 и 1112;
д) 378 и 758;
е) 1658 и 378;
ж) 7,58 и 14,68;
з) 68, 178 и 78;
2. Вычтите
а) 1112 из 101002;
б) 10,112 из 100,12;
в) 111,12 из 100102;
г) 100012 из 1110,112;
д) 158 из 208;
е) 478 из 1028;
ж) 56,78 из 1018;
з) 16,548 из 30,018;
Упражнения
3. Перемножьте числа
а) 1011012 и 1012;
б) 1111012 и 11,012;
в) 1011,112 и 101,12;
г) 1012 и 1111,0012;
4. Разделите 100101102 на 10102 и проверьте
результат, умножая делитель на частное.
Упражнения
5. Запишите уменьшающийся ряд чисел
+3, +2, ..., -3 в однобайтовом формате в прямом,
обратном и дополнительном коде.
6. Найдите десятичные представления чисел,
записанных в дополнительном коде:
а) 1 1111000; б) 1 0011011; в) 1 1101001; г) 1 0000000
7. Выполните вычитания чисел путем сложения их
обратных (дополнительных) кодов в формате 1 байт.
а) 9 - 2;
б) 2 - 9;
в) -5 - 7;
г) -20 - 10;
д) 50 - 25;
е) 127 - 1;
Упражнения
8. Представьте, что вы – компьютер.
Перемножьте числа:
а) 2 и 7
б) -3 и 15
в) 15 и 8