Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
5_ЛР_КА_2КСМ_2016-17.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
162.82 Кб
Скачать

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

ХЕРСОНСЬКИЙ НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ

Кафедра інформацiйних технологій

МЕТОДИЧНІ РЕКОМЕНДАЦІЇ

та контрольні завдання до виконання лабораторних робіт

з дисципліни „Комп’ютерна арифметика”

для студентів другого курсу

для напряму підготовки 6.050102 “Комп’ютерна інженерія”

за професійним спрямуванням “Комп’ютерні системи та мережі”

галузі знань 0501 “Інформатика та обчислювальна техніка”

факультету кібернетики та системної інженерії

Частина 5 (лабораторна робота 5)

Херсон – 2016 р.

Методичні рекомендації та контрольні завдання до виконання лабораторних робіт з дисципліни „Комп'ютерна арифметика” для студентів другого курсу напряму підготовки 6.050102 “Комп’ютерна інженерія” (за професійним спрямуванням “Комп’ютерні системи та мережі”) галузі знань 0501 “Інформатика та обчислювальна техніка”. Частина 5 (лабораторна робота 5).

Укладач: Веселовська Г.В., доцент кафедри інформаційних технологій ХНТУ, к.т.н., доцент, кількість сторінок 14.

Рецензент: Гучек П.Й., доцент кафедри інформаційних технологій ХНТУ, к.т.н., доцент.

Затверджено

на засіданні кафедри інформаційних технологій ХНТУ,

протокол № 1 від 30.08.2016 р.

Завідувач кафедри інформаційних технологій ХНТУ, д.т.н., професор, заслужений діяч науки і техніки України

____________________ В.Є.Ходаков

Відповідальний за випуск В.Є.Ходаков, завідувач кафедри інформаційних технологій ХНТУ, д.т.н., професор, заслужений діяч науки і техніки України.

Лабораторна робота 5 Тема: Виконання операцiї зсуву в прямому, додатковому й оберненому кодi у сучасних комп`ютерах.

Мета роботи: Опанувати на практиці наступні ключові питання, пов`язані з виконанням операцiї зсуву в прямому, додатковому й оберненому кодi у сучасних комп`ютерах: технологія й обмеження здійснення зсуву двiйкового числа на k розрядiв лiворуч i праворуч; значення, що заносяться до розрядiв, якi звiльняються в пiдсумку зсуву двiйкового числа в прямому, додатковому й оберненому кодi на k розрядiв лiворуч i праворуч.

Основні знання й уміння:

– знати особливості технології виконання операцiї зсуву в прямому, додатковому й оберненому кодi у сучасних комп`ютерах;

– виконувати операцiю зсуву в прямому, додатковому й оберненому кодi.

1. Основні теоретичні відомості

1.1 Загальнi поняття про операцiю зсуву

Операцію зсуву застосовують при виконанні: додавання в машинах iз плаваючою комою; множення та ділення в комп`ютерах iз фiксованою та плаваючою комою. Оскiльки в усіх зазначених випадках здiйснюється зсув мантис, то достатньо розглядати тільки числа з фіксованою комою.

1.2 Зсув прямого коду додатних та від’ємних чисел на k розрядів праворуч і ліворуч

Зсув прямого коду числа на k розрядів праворуч еквівалентний множенню зазначеного числа на 2-k.

Оскільки при зсуві прямого коду числа праворуч, молодші розряди можуть виходити за межі розрядної сітки комп`ютеру та втрачатися, то погрішність подання зсунутого коду числа буде мати від’ємний знак для додатних чисел і додатний знак для від’ємних чисел (для зменшення погрiшностi, необхідне округлення чисел).

При зсуві прямого коду від’ємного дробу, зсувається тільки його мантиса, а знак залишається без зміни.

Розглянемо приклад зсуву прямого коду числа на k розрядів праворуч.

Нехай заданi: число А = 1,011010; кiлькiсть розрядiв k = 1.

Результат зсуву числа А на k розрядiв праворуч: 2-1*А= 1,0011001.

Зсув прямого коду числа на k розрядів ліворуч еквівалентний множенню зазначеного числа на 2k. Указана операція буде коректною доти, поки старші значущі цифри коду не почнуть виходити за межі розрядної сітки (поки число за абсолютною величиною не стане більшим одиницi). При зсуві ліворуч, вивільнені праворуч розряди набувають значення нуля.

Розглянемо приклад зсуву прямого коду числа на k розрядів лiворуч.

Нехай заданi: число А = 1,011010; кiлькiсть розрядiв k = 1.

Результат зсуву числа А на k розрядiв лiворуч: 21*А= 1,110100.

1.3 Зсув додаткового коду додатного та від’ємного числа на k розрядів праворуч і ліворуч

Зсув додатного числа ліворуч або праворуч у додатковому коді нічим не відрізняється від зсуву додатного числа в прямому коді.

Зсув від’ємного числа А, записаного інверсним (додатковим або оберненим) кодом передбачає перетворення інверсного коду від’ємного числа А на інверсний код від’ємного числа А*2-k (при зсуві праворуч) або А*2k (при зсуві ліворуч). Тобто зсув додаткового коду від’ємного числа на k розрядів праворуч має перетворити [A]д = 2 + A на [A * 2-k]д = 2 + A * 2-k.

Якщо виконувати механічну операцію зсуву коду числа [A]д на k розря-дів праворуч, то [A]д * 2-k = (2 + A) * 2-k = 2-(k-1) + A * 2-k , що відрізняється від необхідного результату на величину [A * 2-k]д – [A]д * 2-k = 2 – 2-(k-1).

Корекція виконується шляхом заповнення старших розрядів, що звіль-нилися, знаковими одиницями, оскiльки: 2 – 2-(k-1) = 1 + 2-1 + 2-2 + … + 2-(k-1)

Приклад зсуву додаткового коду числа на k розрядів праворуч: зсув [A]д = 1,011011000 на 3 розряди праворуч дає число [A * 2-3]д = 1,111011011.

При наступних зсувах праворуч, виникає помилка, для зменшення якої виконують округлення результату.

Додатковий код від’ємного числа, зсунутий на k розрядів ліворуч, повинен дорівнювати [A * 2k]д = 2 + A * 2k.

Безпосереднє множення [A]д на 2k дає величину [A]д * 2k = (2 + A) * 2k = 2(k+1) + A * 2k. Для одержання правильного коду, необхідне виправлення на величину [A * 2k]д – [A]д * 2k = 2 – 2(k+1), яке вноситься автоматично (через вiдсутнiсть розрядів для запису цілих чисел).

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

Зсув є припустимим доти, поки в розряді праворуч від коми не з'явиться код «нуль».

Розглянемо приклад зсуву додаткового коду числа на k розрядів лiворуч. Нехай задані [A]д = 1,11011 і k = 2, тоді: [A * 2k]д =1,0110.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]