- •4Лабораторна робота №2 подання цілих та дробових чисел в пам'яті комп'ютеру
- •Хід роботи:
- •Зміст роботи
- •Переходимо до дробових чисел
- •Вводимо число 0,3 та розрядність мантиси, рівною 8, а також не відмічаємо параметр Автокоррекция.
- •Контрольні питання
- •Десяткова система числення відноситься до класу позиційних чи непозиційних?
- •Виконайте переведення чисел 24510, 20010, 100 10та 4410 з десяткової системи числення у двійкову.
- •Виконайте переведення чисел 0,410, 1,2510 та 123,210 з десяткової системи числення у двійкову. Поясніть, чому в деяких випадках тут буде виникати похибка переведення.
Контрольні питання
Десяткова система числення відноситься до класу позиційних чи непозиційних?
Позиційна система числення, бо на n-й позиції (справа на ліво від 0) стоїть цифра, що відповідає кількості n-х степенів десятки у цьому числі.
Виконайте переведення чисел 24510, 20010, 100 10та 4410 з десяткової системи числення у двійкову.
245 : 2 = 122 (1)
122 : 2 = 61 (0)
61 :2 = 30 (1)
30 : 2 = 15 (0)
15 : 2 = 7 (1)
7 : 2 = 3 (1)
3 : 2 = 1 (1),
24510 =111101012;
200 : 2 = 100 (0)
100 : 2 = 50 (0)
50 : 2 = 25 (0)
25 : 2 = 12 (1)
12 : 2 = 6 (0)
6 : 2 = 3 (0)
3 : 2 = 1 (1),
20010 = 110010002;
100 : 2 = 50 (0)
50 : 2 = 25 (0)
25 : 2 = 12 (1)
12 : 2 = 6 (0)
6 : 2 = 3 (0)
3 : 2 = 1 (1),
10010 = 11001002;
44 : 2 = 22 (0)
22 : 2 = 11 (0)
11 : 2 = 5 (1)
5 : 2 = 2 (1)
2 : 2 =1 (0)
4410 = 1011002;
Виконайте переведення чисел 0,410, 1,2510 та 123,210 з десяткової системи числення у двійкову. Поясніть, чому в деяких випадках тут буде виникати похибка переведення.
0,4*2=0
0,8*2=0
1,6*2=1
1,2*2=1
0,4*2=0
0,8*2=0
1,6*2=1
1,2*2=1…
Мантиса: 0.0110011 0 100
11001100 1 011
0 010 11001100 2 010
1,25
1=1
1 11
0,25*2= 0 10
0,5*2=0
1=1
1.01
0 11 101
123,2
123 : 2 =61(1)
61 : 2 = 30 (1)
30 : 2 = 15 (0)
15 : 2 = 7 (1)
7 : 2 = 3 (1)
3 : 2 = 1 (1) 1111011
0,2*2=
0,4*2=0
0,8*2=0
1,6*2=1
1,2*2=1
0,4*2=0… 00110
7 1111
6 1110
5 1101
4 1100
3 1011
2 1010
1 1001
0 1000 0 1111 111101100110
В пам'яті комп’ютеру дані зберігаються у двійковому вигляді. Чим зручна така форма подання?
У комп'ютерах та інших цифрових пристроях числові дані подаються у двійковій системі. Це позиційна система з основою 2, яка є зручною. Для запису чисел використовують лише два знаки(цифри 0 та 1).
Виконайте переведення чисел -32310, -12 10 та 34110 з десяткової форми у двійковий додатний код з розрядністю бітових комбінацій рівною 16.
-323
323 : 2 = 161(1)
161 : 2 = 80(1)
80 : 2 = 40 (0)
40 : 2 = 20(0)
20 : 2 = 10(0)
10 : 2 = 5 (0)
5 : 2 = 2 (1)
2 : 2 = 1(0)
1
323= 0 101000011
-323= 1 010111101 0000000
-12
12 : 2 = 6(0)
6 : 2 = 3(0)
3 : 2 = 1 (1)
1
12= 0 1100
-12=1 0100 00000000000
34
34 : 2 = 17(0)
17 : 2 = 8(1)
8 : 2 = 4(0)
4 : 2 = 2(0)
2 : 2 = 1(0)
1
34=100010 0000000000
Бітові комбінації якої розрядності зараз частіше використовуються для подання числових даних у пам'яті комп’ютеру?
Частіше за все розрядність бітових комбінацій складає 32 біти.
Що являє собою помилка переповнення та як її уникнути?
Помилка переповнення виникає тоді, коли результат стає більшим від максимально можливого значення для змінної, що використовується для зберігання результату.
Помилки переповнення можна уникнути, якщо задавати максимально можливого значення для змінної, що використовується для зберігання результату значно більше від можливого результату підрахунків.
У своїй дивовижній книзі, Дж. Гленн Брук шир пише: «Раніше для подання чисел у двійковому додатному коді широко використовувались шістнадцятирозрядні бітові комбінації». Й далі: «Наприклад, 19 вересня 1989 року комп’ютер в одній з лікарень видав помилку, й це після довгих років бездоганної роботи. Була проведена ретельна перевірка, яка показала, що до цієї дати, починаючи з 1 січня 1900 року, пройшло рівно 32768 днів. Як ви вважаєте, що виявилось причиною помилки?» . Дайте, будь ласка, відповідь на його питання.
Я вважаю, що причиною помилки того комп’ютера була помилка переповнення.
Виконайте переведення чисел 1,510, 0,6510 та -3,1 10 у двійкову нотацію з плаваючою точкою. Що являє собою помилка усічення?
1,5
1=1
0,5*2=0
1=1
1.1
0 10
-1 01
0 11 11
0,65*2-0
1,3*2-1
0,6*2-0
1,2*2-1
0,4*2-0
0,8*2-0
1,6*2-1
1,2*2-1
0,4*2…
0.10100110 помилка усічення
101001100
0 10
-1 01
0 01 101001100
-3,1
3,1
3 : 2 = 1(1)
11
0,1*2
0,2*2-0
0,4*2-0
0,8*2-0
1,6*2-1
1,2*2-1
0,4*2-…
11.0001100 помилка усічення
2 110
1 101
0 100
1 110 110001100
Чому отриману спочатку мантису числа 0,2 10 потрібно приводити до нормалізованої форми. Чому це не потрібно робити з числами, що не належать інтервалу (0 1)?
0,2
0,2*2=0
0,4*2=0
0,8*2=0
1,6*2=1
1,2*2=1
0.0011
11000
Мантиса 11000
Мантису числа 0,2 потрібно приводити до нормалізованого виду, бо старший біт у неї нульовий та це число належить інтервалу (-1;1). Це не потрібно проводити з числами, які не є дробовими.
Поданням якого числа є бітова комбінація 0101101001012 у двійковій нотації з плаваючою точкою, якщо відомо, що розрядність мантиси дорівнює восьми?
0 101 10100101
Ми можемо зробити висновок, що число додатнє (0)
Тобто = 1*20 + 1*2-2 + 1*2-5+1*2-7 ~1,2913
Чому, якщо комп’ютер для збереження чисел використовує 32 біти, значення максимального числа, яке він може зберігати, обчислюється як 231.
Тому що один біт йде на знак (старший біт вказує на знак числа: 0- “+”; 1- “-“)
Для чого у вікні лабораторної роботи наявний параметр Автокоррекция?
Автокорекція потрібна для того, щоб зменшити погрішність при помилці усічення ( наприклад число 0,2 не можна зі 100% точністю представити у пам’яті комп’ютера).
При автокорекції похибка становить не більше 0,005.
Наведіть приклад бітової комбінації з старшим незначущим бітом та бітової комбінації з молодшим незначущим бітом. Чому дані біти в цих комбінаціях є незначущими?
0,12510=0.0012
000001 старший незначущий біт
000100 молодший незначущий біт
Після нормалізації 100000
Тому що ми записували число 0,125, яке можна представити у мантисі двома бітами.
у 6 бітах, тобто дописували нулі, спочатку спереду, потім ззаду.
Тобто ці біти не вказують нам ні на що.