Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторна робота 1-4 та 1-5.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
128 Кб
Скачать
☆

Варіанти завдання

Перевести від’ємне дійсне число:

№

код

прямий -> додатковий

зворотній -> додатковий

додатковий -> прямий

додатковий -> зворотній

прямий -> додатковий

зворотній -> додатковий

додатковий -> прямий

додатковий -> зворотній

прямий -> додатковий

зворотній -> додатковий

додатковий -> прямий

додатковий -> зворотній

зворотній -> додатковий

додатковий -> прямий

додатковий -> зворотній

Контрольні питання

  1. Дайте визначення прямого, зворотного, додаткового кодів.

  2. Яким чином отримуються числа у прямому, зворотному, додатковому кодах?

  3. Як виконуються операції додавання та віднімання у кодах?

  4. Чи можливо замінити операції (віднімання додаванням)?

Лабораторна робота 1.5 Форми представлення чисел в комп’ютері. Фіксована та плаваюча коми.

Мета лабораторної роботи – ознайомитись з формами представлення чисел, отримати і закріпити практичні навички з побудови алгоритмів і програм.

Короткі теоретичні відомості

Будь яка інформація, подається в ЕОМ, перетвориться у двійковий код. Це можуть бути тексти, зображення, числа, звуки і т.і. Наприклад, всі клавіші клавіатури комп’ютера закодовані 8-розрядними двійковими кодами таким чином, що будь яка буква латинського та російського алфавіту, як велика, так і маленька, цифри десяткової системи числення, знаки пунктуації та інші службові символи мають свій індивідуальний двійковий код. Так як двійкове 8-розрядне число (байт) може мати 28 = 256 комбінацій, то цього достатньо для кодування одразу декількох текстових алфавітів. Зображення на екрані комп’ютера представляється у вигляді растрового розташування точок (пікселів). Інформація про вміст кожної точки зберігається в одному 8-розрядному двійковому коді. Це дозволяє відображати чорно-білі зображення з 256-ю градаціями яскравості. Для кольорових зображень кожного з 3-х основних кольорів також кодується 1 байтом, таким чином на кожну кольорову точку виділяється 3 байта інформації. На кодування звукового елементу - ноти потрібно від декількох одиниць до десятків байт і т.д. Одна сторінка тексту має інформаційний об’єм  ~3 Кбайт, один кольоровий екранний кадр містить вже  ~3 Мбайт, а 1,5-годинний кольоровий телевізійний фільм  ~ 300 Гбайт.

Розглянемо процес кодування чисел в комп’ютері. Серед чисел, які ми використовуємо, зустрічаються натуральні, цілі, раціональні, ірраціональні. В обчислювальних машинах застосовуються дві форми представлення чисел:

-  природна форма або форма з фіксованою комою (точкою);

-  нормалізована форма або форма з плаваючою комою (точкою);

З фіксованою комою числа зображуються у вигляді послідовності цифр з постійним для всіх чисел положенням точки, яка відділяє цілу частину від дробової. Наприклад,  32,54;  0,0036;  –108,2. Ця форма проста, природна, але має невеликий діапазон представлення чисел і тому не завжди припустима при обчисленнях. Якщо у результаті операції отримаємо число, яке виходить за дприпустимий діапазон, відбувається переповнення розрядної сітки і подальші обчислення втрачають сенс. У сучасних комп’ютерах форма представлення чисел з фіксованою комою використовується тільки для цілих чисел.

З плаваючою точкою  числа зображуються у вигляді X = ±M×P±r, де M - мантиса числа (правильна дріб в межах 0,1 ≤ M < 1),  r - порядок числа (ціле), P - основою системи числення. Наприклад, наведені вище числа з фіксованою крапкою можна перетворити в числа з плаваючою точкою так: 0,3254×102,  0,36×10–2,  –0,1082×103. Нормалізована форма представлення   має великий діапазон чисел і є основною у сучасних ЕОМ.

Будь яке десяткове число, перед тим як попадає в пам'ять комп’ютера, перетворюється за схемою:

X10→X2→X2 = M2×102r

Після цього виконується ще одна важлива процедура:

  • мантиса з її знаком замінюється кодом мантиси з її знаком;

  • порядок числа з його знаком замінюється кодом порядку з його знаком.

Вказані коди двійкових чисел - це образи чисел, які і сприймають обчислювальні пристрої.

Кожному двійковому числу можна поставити у відповідність декілька видів кодів. Існують наступні коди двійкових чисел:

Прямий код. Прямий код двійкового числа (а це або мантиса, або порядок) створюється за таким алгоритмом:

1.Визначити дане двійкове число - воно або ціле (порядок), або правильна дріб (мантиса).    2.Якщо це дріб то цифри після коми можна розглядати як ціле число.    3.Якщо це ціле та додатне двійкове число, то разом з додаванням 0 у старший розряд число перетворюється у код. Для від’ємного двійкового числа перед ним ставиться одиниця.

Наприклад: число X2 = –0,1011012→ код числа  X пр = 1101101; число Y2 = +0,11011012→код числаYпр=01101101.

Зворотній код. Зворотній код додатного двійкового числа співпадає з прямим кодом, а для від’ємного числа потрібно, виключаючи знаковий розряд, у всіх інших розрядах нулі замінити на одиниці і навпаки. Наприклад: число X2 = –0,101012 → Xпр =110101→Xзв=101010; числоY2=+0,11012→Yпр=01101=Yзв.

Додатковий код. Додатковий код додатного числа співпадає з його прямим кодом. Додатковий код від’ємного числа створюється за допомогою додавання 1 до зворотного коду.

Наприклад: число X2 = –0,100102 → Xпр = 110010 → Xзв = 101101 → Xдод = 101110; число Y2 = +0,1011 → Yпр = 01011 = Yзв = Yдод.

Додавання та віднімання двійкових чисел. Додавання чисел, а також віднімання чисел у зворотному або додатковому кодах виконується з використанням звичайного правила арифметичного додавання багато розрядних чисел. Це правило розповсюджується і на знакові розряди чисел. Відмінність зворотного та додаткового кодів пов’язано з тим, що потім роблять  з одиницею переносу з старшого розряду, який зображає знак числа. При додаванні чисел у зворотному коді цю одиницю потрібно додати до молодшого розряду результату, а у додатковому коді одиниця переносу з старшого розряду ігнорується. Це очевидно, якщо пригадати, що додатковий код з зворотного отримується як раз додаванням одиниці. Приклад: скласти числа +18 та –7.

Як і у зворотному, так і у додатковому кодах результати додавання співпали і дорівнюють 10112= 1110.

Множення та ділення двійкових чисел в ЕОМ виконується у прямому коді, а їх знаки використовуються лише для визначення знаку результату. Так само як в математиці, множення та ділення зводиться до операцій зсувів та додавань (з урахуванням знаку числа).

Отримані коди мантиси та порядок для кожного числа вставляються в комірки пам’яті ЕОМ. Для кожної цифри, яка входить в код, в комірці пам’яті відводиться своє окреме місце. Одна комірка пам’яті складається з 8 біт, тобто 1 байта. У сучасних комп’ютерах 2 байта виділяються для одного машинного слова. В останніх моделях ПК обробка інформації ведеться двійковими словами, які містять 4 байта. Числа з фіксованою крапкою мають формат одного слова, а числа з плаваючою крапкою – формат подвійного слова.

Приклад: Дано число з плаваючою крапкою  –0,625×108. Потрібно перетворити його в машинний код і заповнити 32-разрядну ячейку пам’яті. Мантиса числа  0,62510 = 0,1012.  Так як порядок чисел може бути як додатнім, так і від’ємним, то машинний порядок зміщується відносно природного таким чином, щоб весь діапазон машинних порядків змінювався від 0 до максимуму, який визначається кількістю розрядів, які виділяються для розміщення чисел порядку. В 32-разрядній комірці цифри порядку замінюють 7 розрядів старшого байта, а восьмий розряд використовується для фіксації знаку числа.  Сім двійкових розрядів дозволяють розмістити діапазон десяткових розрядів  від –64 до +63. Якщо позначити машинний порядок через R, а природній через r, то зв'язок між ними буде такий: R10 = r10+6410. Для двійкової системи числення R2 = r2 + 10000002. У нашому прикладі порядок r дорівнює 810 = 10002, отже R2 = 1001000. У двійковій системі вихідне число виглядає так: –0,101х1001000. Запис цього числа у 32-розрядній комірці представлено у таблиці:

 

Знак числа

Порядок

Мантисса

№ разряда

31

30

29

28

27

26

25

24

23

22

21

20

19

18

•••

1

0

Число

1

1

0

0

1

0

0

0

1

0

1

0

0

0

0

0

0