- •Введение
- •Задание 1 Представление целых чисел и чисел с плавающей запятой в различных форматах
- •1.1. Представление чисел в двоично-кодированной форме
- •1.2. Представление целых чисел в форме с фиксированной запятой
- •1.3. Особенности ПредставлениЯ чисел
- •1.4. Представление чисел с плавающей запятой
- •1.5. Представление чисел с плавающей запятой
- •1.6. Представление чисел с плавающей запятой
- •1.8. Определение значения числа с плавающей запятой по его представлению в формате ф2
- •1.9. Определение значения числа с Плавающей запятой по его представлению в формате ф3
- •1.7. Определение значения числа с плавающей запятой по его представлению в формате ф1
- •Задание 2 Сложение целых чисел
- •Пример выполнения задания
- •Задание 3 Вычитание целых чисел
- •Пример выполнения задания
- •Задание 4 Умножение целых чисел
- •Умножение в дополнительных кодах с применением коррекции
- •Умножение в дополнительных кодах без коррекции
- •Задание 5 Деление целых чисел
- •Приложение 1
- •Приложение 2
- •Приложение 3
- •Содержание
- •Кафедра вычислительной техники
- •Арифметические основы эвм
Пример выполнения задания
ai – значение i –го разряда 1-го слагаемого, bi – значение i –го разряда 2-го слагаемого, pi-1 –перенос из (i-1)-го разряда в i –й разряд, Si – сумма i-го разряда, pi – перенос из i –го разряда в (i+1)-й разряд |
ai |
bi |
pi-1 |
si |
pi |
0 0 0 0 1 1 1 1 |
0 0 1 1 0 0 1 1 |
0 1 0 1 0 1 0 1 |
0 1 1 0 1 0 0 1 |
0 0 0 1 0 1 1 1 |
Напомним, что диапазон представления чисел в байтном формате выглядит следующим образом:
-
целых знаковых: -128 =- 27
≤ АЦЗН
≤ 27
– 1=127
1.0000000 |
|
0.1111111 |
- целых беззнаковых: 0 ≤ АЦБЗН ≤ 28 – 1 = 255
2.1. А = 57, В = 49
-
А
0
111001
В
0
110001
7
6 0
7
6 0
- А
1
000111
- В
1
001111
7
6 0
7
6 0
1) А>0, В>0
Знаковая Беззнаковая
интерпретация интерпретация
ЗИ БзИ
AПК = 0.0 1 1 1 0 0 1 57 57
ВПК = + 0.0 1 1 0 0 0 1 + 49 + 49
СПК = 0.1 1 0 1 0 1 0 106 106
Установка флагов:
СF = 0 - флаг переноса (отсутствие переноса из старшего разряда);
SF = 0 - флаг знака (положительный результата);
ZF = 0 - флаг нуля (отсутствие нулевого результата);
AF = 0 - флаг дополнительного переноса (отсутствие межтетрадного переноса);
PF = 1 - флаг паритета (число единиц четно);
OF = 0 - флаг переполнения (переполнение для знаковых чисел отсутствует).
2) A<0, B>0
ЗИ БзИ
AДК= 1.1 0 0 0 1 1 1 –57 199
ВПК = + 0.0 1 1 0 0 0 1 + 49 + 49
СДК = 1.1 1 1 1 0 0 0 248
СПК = 1.0 0 0 1 0 0 0 –8
СF = 0; SF = 1; ZF = 0; AF = 0; PF = 0; OF = 0.
3) А>0, В<0
ЗИ
БзИ
AПК = 0.0 1 1 1 0 0 1 57 57
ВДК = + 1.1 0 0 1 1 1 1 +–49 + 207
СПК = 0.0 0 0 1 0 0 0 8 8?
CF=1; SF=0; ZF=0; AF=1; PF=0; OF=0.
Для БзИ результат неверен вследствие возникающего переноса из старшего разряда. Вес этого переноса составляет 256 (8+256 = 264 = =57+207).
4) А<0, В<0
ЗИ
БзИ
AДК = 1.1 0 0 0 1 1 1 –57 199
ВДК =+ 1.1 0 0 1 1 1 1 +–49 +207
СДК = 1.0 0 1 0 1 1 0 150 ?
СПК = 1.1 1 0 1 0 1 0 –106
CF=1; SF=1; ZF=0; AF=1; PF=1; OF=0.
Для БзИ результат неверен вследствие возникающего переноса из старшего разряда. Вес этого переноса составляет 256 (150+256 = = 406 = 199+207).
2.2. Правило для подбора операнда В выглядит следующим образом:
А + В > 128, значит 128 – А < В ≤ 127.
А = 57 (неизменно), В = 96 (подбираем)
-
+ В
0
110000
- В
1
010000
7
6 0
7
6 0
.
1) А > 0, В > 0
ЗИ
БзИ
АПК= 0.0 1 1 1 0 0 1 57 57
ВПК= + 0.1 1 0 0 0 0 0 + 96 + 96
СДК= 1.0 0 1 1 0 0 1 153
СПК= 1.1 1 0 0 1 1 1 -103?
CF = 0; SF = 1; ZF = 0; AF = 0; PF = 1; OF = 1.
Для знакового сложения результат является некорректным вследствие переполнения формата.
О наличии переполнения можно судить по двум фактам:
Сравнение знаков операндов и результата. Если знаки операндов одинаковы, а знак суммы отличается от них – фиксируется переполнение.
Сравнение переносов из старшего цифрового разряда в знаковый и из знакового разряда за пределы формата. Переполнение возникает, если один из переносов есть, а второго нет.
2) А < 0, В < 0
ЗИ
БзИ
АДК= 1.1 0 0 0 1 1 1 -57 199
ВДК= + 1.0 1 0 0 0 0 0 + -96 + 160
СПК= 0.1 1 0 0 1 1 1 +103? 103?
CF = 1; SF = 0; ZF = 0; AF = 0; PF = 0; OF = 1.
Для ЗИ результат неверен вследствие возникающего переполнения (см. выше), для БзИ результат неверен вследствие возникающего переноса из старшего разряда.
2.3. Значение числа В фиксируем (В = 49), а значение А определяется в соответствии с условием А + В = 128, по которой при сложении положительных чисел будет фиксироваться переполнение, а при сложении отрицательных - не будет. А = 79.
-
+ А
0
1001111
- А
1
0110001
7
6 0
7
6 0
1) А > 0, B > 0
ЗИ
БзИ
А ПК = 0. 1 0 0 1 1 1 1 79 79
В ПК= + 0. 0 1 1 0 0 0 1 + 49 + 49
С ДК= 1. 0 0 0 0 0 0 0 -128? 128
CF = 0; SF = 1; ZF = 0; AF = 1; PF = 0; OF = 1.
Для ЗИ результат неверен вследствие возникающего переполнения (см. выше).
2) A < 0, B < 0
ЗИ
БзИ
А ДК= 1. 0 1 1 0 0 0 1 - 79 177
В ДК= +1.1 0 0 1 1 1 1 + - 49 + 207
С ПК= 1. 0 0 0 0 0 0 0 -128 128?
CF = 1; SF = 1; ZF = 0; AF = 1; PF = 0; OF = 0.
Для БзИ результат неверен вследствие возникающего переноса из старшего разряда, результат ЗИ корректен.
