1100 | 0101 | 0100 | 0011 | 1001 | 0101
, де молодша тетрада 11012 = D16 старшого байта – знак мінус. Тетради решта байтів– цифри числа.
Число –а2 в запакованому форматі має вигляд:
0000 | 1100 | 1011 | 0100 | 0001 | 0010 | 0001 | 0011
, де молодша тетрада 11012 = D16 старшого байта – знак мінус. Тетради решта байтів– цифри числа.
Покажемо розміщення в пам’яті комп’ютера першого даного з фізичної адреси яким є друге число.
1001 | 0011
0000 | 0001
0101 | 1001
1001 | 0000
0001 | 0001
0000 | 1100
Запишемо числа в не упакованому форматі.
Число +а1 в не упакованому форматі має вигляд:
а1 = 1292789310
2B | 31 | 31 | 39 | 30 | 35 | 39 | 30 | 31 | 33 | 39
, де байт 2В – знак плюс. Інші байти – цифри.
Число +а2 в не упакованому форматі має вигляд:
а2 = 1180110710
2В | 32 | 35 | 36 | 38 | 38 | 39 | 37 | 31 | 37 | 37
Покажемо розміщення в пам'яті комп’ютера першого даного з фізичної адреси, котрим є друге число.
1292789310
0001 | 0001
0001 | 0001
0001 | 1001
0001 | 0000
0001 | 0101
0001 | 1001
0001 | 0000
0001 | 0001
0001 | 0011
0001 | 1001
Арифметика чисел з плаваючою комою
Вихідні двійкові числа а1 і а2 розглянемо як числа із плаваючою комою, що записані в базовому форматі одиничної довжини.
А1 в базовому форматі одиничної довжини буде виглядати:
1 10001010 100001110010101
А2 в базовому форматі одиничної довжини буде виглядати:
1 01101000 001001000010011
Для обчислення суми і різниці цих чисел з плаваючою комою, постараємося вирівняти порядки, так як додавати або віднімати мантиси чисел ми маємо право в тому випадку, коли порядки чисел рівні.
Різниця порядків чисел а1 і а2 рівна:
_Цb_(юа1 – Па2 ) = 100010 = 3410
В даному випадку при вирівнюванню мантиси меншого числа а2 по порядку більшого числа а1, тобто при зміщенню мантиси числа а2 на 84 порядок вправо, мантиса числа а2 перетвориться в нуль, відповідно, результатом суми чисел а1+а2 і різниці чисел а1–а2 буде число а1, тобто а1+а2=а1 і а1-а2=а1, тобто
1 10001010 100001110010101
Виконаємо множення мантиси чисел, не забувши про прихований біт.
0.100001110010101
*
0.001001000010011
000000000000000000000000010101000100001110010101
00000000000000000000111101101111011010111011000
00000000000000000001111011011110110101110110000
00000000000000001111011011110110101110110000000
00000000000000111101101111011010111011000000000
00000000011110110111101101011101100000000000000
00000011110110111101101011101100000000000000000
00000111101101111011010111011000000000000000000
00001111011011110110101110110000000000000000000
00011110110111101101011101100000000000000000000
00111010011000100101001000111111010101111000011
Для визначення місця коми необхідно скласти кількість знаків після коми в вхідних числах і пересунути кому на цю кількість знаків. Кількість знаків після коми в обох числах разом 46. Пересунувши кому на 46 получимо результат множення:
0.01110100110001001010010 00111111010101111000011
Для запису його в базовому форматі одиничної довжини необхідно, записати отриманий результат в вигляді нормалізованої мантиси. Для нормалізації необхідно пересунути кому на один знак вліво і до порядку числа добавити одиницю (одиницю добавимо, коли будемо працювати з порядком результату) і відкинути всі знаки після коми окрім перших двадцяти трьох. Тоді мантиса числа із скритим бітом буде виглядати наступним чином.
Для визначення експонента результату, додамо результати в десятковій системі числення. Для цього переведемо експоненти чисел
В десяткову систему числення, а потім перетворимо їх в порядки по правилу П = Е –127, де Е – експонента числа, а П – його порядок.
Експонента першого числа рівна:
Е1 = 100011012 = 141.
Тоді порядок першого числа буде П1 = Е1 – 127 = 14.
Експонента другого числа рівна:
Е2 = 001100102 = 50
Тоді порядок першого числа буде П2 = Е2 – 127 = -77
Порядок результату рівний сумі порядків множених чисел
П = П1 + П2 = 14 +(-77)= -63
Експонента результату рівна П + 127 = -63 + 127 = 64. Добавимо до експоненти одиницю, яка була отримана в результаті нормалізації мантиси.
Тоді Е =64 + 1 = 65.
Переведемо E в двійкову систему числення Е =6510 = 10000012.
Знак результату визначається додаванням знакових бітів перемножених по модулю два. Тоді знаковий біт результату буде (0 + 0) mod 2 = 0.
Отже, результат множення в базовому форматі одиничної довжини буде виглядати наступним чином:
0 1000001 01110100110001001010010
ВИСНОВОК
Проблема вибору системи числення для подання чисел у пам'яті комп'ютера має велике практичне значення. В разі її вибору звичайно враховуються такі вимоги, як надійність подання чисел при використанні фізичних елементів, економічність (використання таких систем числення, в яких кількість елементів для подання чисел із деякого діапазону була б мінімальною). Для зображення цілих чисел від 1 до 999 у десятковій системі достатньо трьох розрядів, тобто трьох елементів. Оскільки кожен елемент може перебувати в десятьох станах, то загальна кількість станів - 30, у двійковій системі числення 99910=1111100, необхідна кількість станів - 20 (індекс знизу зображення числа - основа системи числення). У такому розумінні є ще більш економічна позиційна система числення - трійкова. Так, для запису цілих чисел від 1 до у десятковій системі числення потрібно 90 станів, у двійковій - 60, у трійковій - 57. Але трійкова система числення не дістала поширення внаслідок труднощів фізичної реалізації.
Тому найпоширенішою для подання чисел у пам'яті комп'ютера є двійкова система числення. Для зображення чисел у цій системі необхідно дві цифри: 0 і 1, тобто достатньо двох стійких станів фізичних елементів. Ця система є близькою до оптимальної за економічністю, і крім того, таблички додавання й множення в цій системі елементарні.
В даній курсовій роботі особливо велику увагу приділено кодуванню сигналу за допомогою коду ASCII, показано розміщення чисел в пам’яті комп’ютера. У роботі широко висвітлено існуючі системи числення (двійкова, десяткова, шістнадцяткова), а, оскільки, в