Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
л.р.1-12.СПРГ-1(40, укр).doc
Скачиваний:
0
Добавлен:
27.08.2019
Размер:
2.33 Mб
Скачать

2.1 Цілі числа. Цілі числа без знака

Як видно з області припустимих значень для платформи Winl6, цілі числа без знака — це додатні числа (або нуль) і вони можуть займати 8, 16 або 32 біта пам'яті ПЕОМ. Вважається, що біт 0 — молодший біт (для зручності будемо вважати, що він розташований крайнім праворуч). Старший біт — 7 (15 або 31) — для зручності розташуємо крайнім ліворуч. Для беззнакових даних всі біти вважаються інформаційними.

Інформаційне поле числа (0,1)

31

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

Старший

Біти

Молодший

2.2 Цілі числа зі знаком

Цілі знакові дані, по-перше, можуть бути як додатними, так і від’ємними, включаючи нуль, і, по-друге, вони по діапазону припустимих значень у два рази менше беззнакових (для додатних значень). Це відбувається, тому що старший біт завжди приділяється під знак. Він називається біт S -signum (знак):

S = 0 - для додатних чисел;

S = 1 - для від’ємних чисел.

S

Інформаційне поле числа (0,1)

31

9

8

7

6

5

4

3

2

1

0

знак

Біти

Увага, від’ємні числа представляються у пам’яті у додатковому коді, для отримання якого требі інвертувати число і додати 1 до молодшого розряду, наприклад переведемо -125 у додатковий код:

125d -> 0111 1101b

1000 0010b після інверсії

+1

-125d -> 1000 0011b

3 Дійсні числа.

Дійсні базові величини можуть бути типу float (single), double або long double (extended). Від платформи вони не залежать і обробляються співпроцесором. Внутрішнє (машинне) представлення цих чисел досить складне, S - як звичайно, знак числа:

S

Характеристика

Нормалізована мантиса

Зсув ± Порядок

Зсув — число, яке дорівнює половині максимально можливого, що може поміститися в поле характеристика”. Таким чином, заощаджуються місце й час, тому що не потрібно виділяти розряд для знака порядку й робити додатковий код для від’ємних порядків.

3.1 Представлення дійсних чисел у двійковому нормалізованому виді.

Як відомо (див. самостійну роботу №1), для перетворення чисел із десяткової до двійкової системи числення використовуються два алгоритми:

  • для цілої частини – послідовне ділення на основу нової системи числення (2, 8, 16) і запис отриманих залишків у зворотному порядку;

  • для дрібної частини - послідовне множення на основу нової системи числення (2, 8, 16) і запис отриманих залишків у прямому порядку порядку;

Зворотне перетворення базується на визначенні позиційної системи числення

Одержавши двійкове число, потрібно його нормалізувати, тобто двійкове число повинне завжди починатися з одиниці й мати такий вигляд:

± 1. m2* 2p, (1)

де m2 - двійкова мантиса числа,

p - порядок двійкового числа.

У зв’язку з тим, що при перетворенні дрібної частини дійсних чисел лише в окремих випадках вдається закінчити множення на основу нової (у нашому випадку - двійкової) системи числення, неминуче виникає похибка перетворення, яку можна оцінити зробивше зворотне перетворення.

Err = | N1-N2 | (2)

ПРИКЛАД;

N1=2.107.

При прямому перетворенні у двійкову систему числення дрібної частини отримаємо

0.107d ->0.00011011011b

у нормалізованому виді

0.00011011011b =1.1011011*2-4

При зворотному перетворенні

0.00011011011b -> 0,10107421875

Похибка перетворення

Err=|0.107-0,10107421875 |=0,00592578125

Як бачимо, похибка перетворення значна, тому при виконанні лабораторної роботи слід отримати 15-20 двійкових розрядів для дрібної частини числа.

Тут вы можете оставить комментарий к выбранному абзацу или сообщить об ошибке.

Оставленные комментарии видны всем.

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