1.1 Скласти шестизначне число, яке складається з отриманих за допомогою кодової таблиці кодів 1-ої, 2-ої та 8-ої літер прізвища. При цьому перші 3 цифри відповідають цілій частині числа, а останні - дробовій. Наприклад, Біда Ян Андрійович, 8 перших різних літер для варіанту В1: Б, І, Д, А, Я, Н, Р, Й. З кодової таблиці маємо: Б - 52, І - 14, Й - 36. Число - 521,436. Вважаючи це число десятковим, перевести його до шістнадцяткової, вісімкової та двійкової систем числення з точністю відповідно 3, 3 та 5 розрядів після коми. З кодової таблиці маємо: С - 35; А – 78; Д – 28. Число: 357,82810. Переведення в двійкову систему числення: Переведення цілої частини: 357 / 2 = 178 [1]; 178 / 2 = 89 [0]; 89 / 2 = 44 [1]; 44 / 2 = 22 [0]; 22 / 2 = 11 [0]; 11 / 2 = 5 [1]; 5 / 2 = 2 [1]; 2 / 2 = 1 [0]; [1];
35710 = 1011001012 Переведення дробової частини: 0,828 Х 2 1,656 Х 2 1,312 Х 2 0,624 Х 2 1,248 Х 2 0,496 Х 2 0,992 Х 2 1,984 Х 2 1,968 Х 2 1,936 Х 2 1,872 Х 2 1,744 Х 2 1,488
0,82810 = 0,1101001111112 357,82810 = 101100101 ,1101001111112 Переведення в вісімкову систему числення: 101 100 101 , 110 100 111 1112 = 545,64778 *Переведення: розбиття на тріади, починаючи від коми (ліворуч і прворуч), причому у дробовій частині останню тріаду доповнюють нулями при необхідності. Переведення в шістнадцяткову систему числення: 1 0110 0101 , 1101 0011 11112 = 165,D3F16 *Переведення: аналогічне попередньому методу, тільки розбиваєм на тетради. 357,82810 = 101100101 ,1101001111112 = 545,64778 = 165,D3F16 1.2 Скласти шестизначне число, яке складається з отриманих за допомогою кодової таблиці кодів 1-ої, 2-ої та 8-ої літер прізвища. При цьому перші 3 цифри відповідають цілій частині числа, а останні - дробовій. Вважаючи це число шістнадцятковим, перевести його до десяткової, вісімкової та двійкової систем числення з точністю відповідно 3, 3 та 5 розрядів після коми. Число: 357,82816 357,82816 = 11 0101 0111 , 1000 0010 10002 1 101 010 111 , 100 000 101 0002 = 1527,40508 3*256 + 5*16 + 7 , 8*0,0625 + 2*0,00390625 + 8*0,000244140625 = 855,523437510 357,82816 = 855,523437510 = 1527,40508 = 1101010111,1000001010002 1.3 Скласти шестизначне число, яке складається з отриманих за допомогою кодової таблиці кодів 1-ої, 2-ої та 8-ої літер прізвища. Вважаючи це число десятковим, перевести його до системи числення залишкових класів із мінімально необхідною кількістю основ 2, 3, 5, 7, 11, ... . Після цього зробити зворотне переведення отриманого результату до десяткової системи числення. Число: 357828. p1 = 2; p2 = 3; p3 = 5; p4 = 7; p5 = 11; p6 = 13; p7 = 17.
P = p1 * p2 * p3 * p4 * p5 * p6 * p7 = 2 * 3 * 5 * 7 * 11 * 13 *17 = 510510. 357828 mod 2 = 0; 357828 mod 3 = 0; 357828 mod 5 = 3; 357828 mod 7 = 2; 357828 mod 11 = 9; 357828 mod 13 = 3; 357828 mod 17 = 12.
( 0, 0, 3, 2, 9, 3, 12) = ( 0 * 255255 + 0 * 170170 + 3 * 306306 + 2 * 145860 + 9 * 46410 + 3 * 157080 + 12 * 450450 ) ( mod 510510 ) = 7504968 mod 510510 = 357828. 357828 = ( 0, 0, 3, 2, 9, 3, 12). 1.4 Виконати ефективне кодування визначених літер прізвища, при умові, що отримане за допомогою кодової таблиці число - десяткове і говорить про те, скільки разів у "повідомленні" зустрічається дана літера (при цьому, "повідомлення" складається всього з 8 обраних літер). Визначити ефективність проведенного кодування та порівняти її з ентропією джерела повідомлення і ефективністю рівномірного кодування, тобто з випадком, коли довжина коду для кожної літери одна й та сама. За допомогою отриманих кодів ?скласти повідомлення, яке складається з визначених літер у тій послідовності, в якій вони зустрічаються у прізвищі. Визначити довжину (в бітах) повідомлення при ефективному і рівномірному кодуванні. С 35 0,12 А 78 0,3 Л 33 0,11 Ш 17 0,06 Н 23 0,08 И 11 0,04 К 53 0,19 Д 28 0,1 ?278 ?100% Літера Імовірність Ефективний код Не ефективний код
1ц4л – 1 0001 2ц7л – 3 0011 Функція на нульовому наборі змінних f(0,0,0) = 0. Отже, функція зберігає константу «0». Функція на одиничному наборі змінних f(1,1,1) = 1. Отже, функція зберігає константу «1». Функція не є монотонною, оскільки при будь-якому зростанні кількості "1" у послідовності сусідніх наборів змінних значення функції зменшується. a b c f
a b c f
a b c f
a b c f
a b c f
a b c f
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 1 0
0 0 1 0
0 1 0 0
0 1 0 0
1 0 0 0
1 0 0 0
0 1 1 1
1 0 1 0
0 1 1 1
1 1 0 1
1 0 1 0
1 1 0 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
a b c f a b c f
0 0 0 0 1 1 1 1
0 0 1 0 1 1 0 1
0 1 0 0 1 0 1 0
0 1 1 1 1 0 0 0
Функція не є самодвоїстою, оскільки на третій парі протилежних наборів функція не приймає протилежні значення. Для визначення лінійності функції подамо її у вигляді полінома Жегалкіна f = /abc # ab/c # abc = (a#1)bc # ab(c#1) # abc = abc # bc # abc # ab # abc = = abc # abc # abc # (=abc) # bc # (=bc) # ab = (=ab) = abc # bc # ab. Оскільки поліном містить добутки змінних, то функція не є лінійною. Отже, із п'яти необхідних для створення ФПС властивостей відсутні дві – не зберігання константи «0» та «1», тому дана функція не утворює ФПС.
2.2 Мінімізувати за допомогою методу Квасна-Мак-Класкі-Петрика 5 функцій (f0, f1, f2, f3, f4) 5-ти змінних (a, b, c, d, e). Функції задано за допомогою таблиці ТZ.3. Побудувати таблицю, яка ілюструє процес знаходження простих імплікант,і таблицю покриття (імплікантну таблицю). За допомогою методу Петрика визначити всі мінімальні розв'язки. Кожний третій набір для кожної з функцій має невизначене значення. Відлік починається від першого згори одиничного значення функції з врахуванням зміщення, величина якого позначена у табл. ТZ.3: S - відлік починається безпосередньо від першого згори одиничного значення; -S - відлік починається від попереднього набору відносно першого згори одиничного значення; +S - відлік починається від наступного набору відносно першого згори одиничного значення.
Отже простими імплікантами є кон’юнкції: /a/bce: 001_1; /ab/ce: 010_1; /abc/e: 011_0; a/b/ce: 100_1; a/bc/e: 101_0; /bcde: _0111; b/cde: _1011; bcd/e: _1110; /ab/c: 010_ _; /ab/e: 01_ _0; /bd/e: _0_11; /cde: _ _011; b/dc: _101_; bd/e: _1_10; /cd: _ _01_; ad: 1_ _1_ Мінімізація функції f2 1 2 3 4 К П У C К П У С К П У C K П У
Отже простими імплікантами є кон’юнкції: /abc/d/e: 01100; /ab/ce: 010_1; /ab/cd: 0101_; /a/cd: 0_01_; /bce: _01_1; /bcd: _011_; a/bd: 10_1_; ace: 1_1_1; acd: 1_11_; /bd: _0_1_; de: _ _ _11. Мінімізація функції f3 1 2 3 К П У C К П У С К П У
00001 а0 + a0b2 _0001 f0 - g0h5 _011_ k0 -
00010 а1 + a1b0 00_10 f1 - g1h1 _011_ k1 -
00100 а2 + a1b1 0_010 f2 - h0i1 _ _111 k2 -
10000 а3 + a2b0 001_0 f3 - h1i0 _ _111 k3 -
00110 b0 + a3b2 1000_ f4 -
01010 b1 + b0c0 0011_ g0 +
10001 b2 + b0c4 _0110 g1 +
00111 c0 + b1c1 0101_ g2 -
01011 c1 + b1c6 _1010 g3 -
01101 c2 + b2c3 100_1 g4 -
10011 c3 + b2c5 1_001 g5 -
10110 c4 + c0d0 0_111 h0 +
11001 c5 - c0d1 _1001 h1 +
11010 c6 - c1d0 01_11 h2 -
11100 c7 - c2d0 011_1 h3 -
01111 d0 + c3d1 10_11 h4 -
10111 d1 + c4d1 1011_ h5 -
11111 e0 + d0e0 _1111 i0 +
d1e0 1_111 i1 +
Отже простими імплікантами є кон’юнкції: ab/c/de: 11001; ab/cd/e: 11010; abc/d/e: 11100; /b/c/de: _0001; /a/bd/e: 00_10; /a/cd/e: 0_010; /a/bc/e: 001_0; a/b/c/d: 1000_; /ab/cd: 0101_; b/cd/e: _1010; a/b/ce: 100_1; a/c/de: 1_001; /abde: 01_11; /abce: 011_1; a/bde: 10_11; a/bcd: 1011_; /bcd: _011_; cde: _ _111. Мінімізація функції f4 1 2 3 К П У C К П У С К П У
2.3 Мінімізувати за "1" за допомогою карт Карно функції, задані табл. ТZ.3. Після мінімізації доповнити функції сполучними термами, підкреслити вирази для цих термів в аналітичному записі функції і позначити їх на картах Карно. Результат мінімізації повинен співпадати з одним із розв'язків, знайдених за допомогою методу Петрика. С 35 А 78 Л 33 Ш 17 Н 23 И 11 К 53 Д 28 Мінімізація функції f0 10x 110 13x 121
140 150 171 16x
1Cx 1D1 1Fx 1E1
180 19x 1B1 1A0
00 1x 31 21
4x 51 7x 60
C1 Dx F0 E0
80 91 B1 Ax
Склеювання клітинок 9, B, 19, 1B результат – b/ce Мінімізуються набори 9, B, 1В. Склеювання клітинок 3, 2, В, А результат - /a/cd Мінімізуються набори 3, 2, В. Склеювання клітинок 1C, 1D, 1F, 1E результат – abc Мінімізуються набори 1D, 1E. Склеювання клітинок 1B, 19, 1D, 1F результат – abe Мінімізуються набори 1B, 1D. Склеювання клітинок 13, 12, 17, 16 результат - a/bd Мінімізуються набори 12, 17. Невизначені значення функції на наборах 1, 7, 4, D, 10 довизначаємо як “0”, оскільки вони участі у склеювані не беруть. Невизначені значення функції на наборах А, 13, 16, 19, 1С, 1F довизначаємо як “1”, оскільки вони беруть участь у склеювані за “1”. Набори 9, 2, 3, А, 12, 1E, 1C, 13, 17, 16 беруть участь у одному склеювані. Набори 19, B, 1B, 1D, 1F беруть участь у двох склеюваннях. f = Мінімізація функції f1 100 11x 131 121
14x 150 17x 161
1C0 1Dx 1F1 1E1
180 190 1B1 1Ax
00 10 31 2x
40 51 71 6x
C1 D0 F0 Ex
8x 91 Bx A1
Склеювання клітинок 3, 7, 13, 17 результат – /bde Мінімізуються набори 3, 7, 13. Склеювання клітинок 8, А, C, E результат - /ab/e Мінімізується набір C, E. Невизначені значення функції на наборах 17, 8, E довизначаємо як “1”, оскільки вони беруть участь у склеювані за “1”
Невизначені значення функції на наборах 11, 14, 1D, 1A, 2, 6, B довизначаємо як “0”, оскільки вони не беруть участь у склеювані. Набори Е, 3, 7, 17, 13, 8, A, C беруть участь у одному склеювані. f = Мінімізація функції f2 100 110 131 12x
140 15x 171 161
1C0 1D1 1F1 1Ex
18x 190 1Bx 1A0
00 10 3x 21
40 51 71 6x
Cx D0 Fx E0
80 9x B1 A1
Склеювання клітинок 2, 3, А, B результат - /a/cd Мінімізується набір 3. Склеювання клітинок 15, 17, 1D, 1F результат - ace Мінімізуються набори 15. Склеювання клітинок 5, 7, 15, 17 результат – /bce Мінімізуються набори 15. 4) Склеювання клітинок 2, 3, 6, 7, 12, 13, 16, 17 результат - /bd Мінімізуються набори 2, 7, 13, 16, 17. Невизначені значення функції на наборах 12, 9, 18, 1E, 1B, 6 довизначаємо як “0”, оскільки вони участі у склеювані не беруть. Невизначені значення функції на наборах 3, 15 довизначаємо як “1”, оскільки вони беруть участь у склеювані за “1”. Набори В, A, 5, 1D, 1F беруть участь у одному склеювані. Набори 2, 3, 7, 15 беруть участь у двох склеюваннях. Набір 17 бере участь у трьох склеюваннях. f = Мінімізація функції f3 10x 111 13x 120
140 150 171 16x
1Cx 1D0 1Fx 1E0
180 19x 1B0 1A1
00 1x 30 21
4x 50 7x 61
C0 Dx F1 E0
80 90 B1 Ax
Склеювання клітинок 2, А результат - /a/cd/e Мінімізується набір 2. 2) Склеювання клітинок B, F результат - /abde Мінімізується набір B, F. Cклеювання клітинок 6, 7, 16, 17 результат - /bcd Мінімізуються набори 6, 17. Склеювання клітинок 7, F, 17, 1F результат - cde Мінімізується набір F, 17. Склеювання клітинок 11, 13 результат – a/b/ce Мінімізується набір 11. Склеювання клітинок А, 1А результат – b/cd/e Мінімізується набір 1А. Невизначені значення функції на наборах 10, 19, 1С, 1, 4, D довизначаємо як “0”, оскільки вони участі у склеювані не беруть. Невизначені значення функції на наборах 7, А, 13, 16, 1F довизначаємо як “1”, оскільки вони беруть участь у склеювані за “1”. Набори 2, В, 6, 7, 11, 13, 16, 1А, 1F беруть участь у одному склеювані. Набір А, F, 17 бере участь у двох склеюваннях. f = Мінімізація функції f4 100 11x 131 120
14x 150 17x 161
1C1 1Dx 1F0 1E0
180 190 1B0 1Ax
00 10 30 2x
40 5x 71 61
C0 D0 F1 Ex
8x 90 B1 A0
Склеювання клітинок 6, 7, 16, 17 результат - /bcd Мінімізуються набори 6, 7, 16. 2) Склеювання клітинок 6, 7, E, F результат - /acd Мінімізується набір F. 3) Склеювання клітинок 11, 13 результат – a/b/ce Мінімізується набір 13. 4) Склеювання клітинок 1С, 1D результат – abc/d Мінімізується набір 1C. Невизначені значення функції на наборах 2, 5, 8, 14, 1А довизначаємо як “0”, оскільки вони участі у склеювані не беруть. Невизначені значення функції на наборах Е, 11, 17, 1D довизначаємо як “1”, оскільки вони беруть участь у склеювані за “1”. Набори 16, 17, F, E, 11, 13, 1С, 1D беруть участь у одному склеювані. Набори 6, 7 беруть участь у двох склеюваннях. f = 2.4 Мінімізувати за "0" за допомогою карт Карно функції, задані табл. ТZ.3. Після мінімізації доповнити функції сполучними термами, підкреслити вирази для цих термів в аналітичному записі функції і позначити їх на картах Карно. С 35 А 78 Л 33 Ш 17 Н 23 И 11 К 53 Д 28 Мінімізація функції f0 10x 110 13x 121
140 150 171 16x
1Cx 1D1 1Fx 1E1
180 19x 1B1 1A0
00 1x 31 21
4x 51 7x 60
C1 Dx F0 E0
80 91 B1 Ax
Склеювання клітинок 10, 11, 0, 1 результат – /b/c/d Мінімізуються набори 0, 11. Склеювання клітинок 10, 14, 1C, 18 результат - /a/cd Мінімізуються набори 14, 18. Склеювання клітинок 7, 6, F, E результат – /acd Мінімізуються набори 6, F, E. Склеювання клітинок 8, 18, A, 1A результат – b/c/e Мінімізуються набори 8, 18, 1A. Невизначені значення функції на наборах 1, 7, A, 10, 1C довизначаємо як “0”, оскільки вони беруть участь у склеювані за “0”. Невизначені значення функції на наборах 4, D, 13, 16, 1F, 19 довизначаємо як “1”, оскільки вони участі у склеювані не беруть. Набори 11, 0, 1, 14, 1С, 7, 6, F, E, 8, A, 1A беруть участь у одному склеювані. Набори 10, 18 беруть участь у двох склеюваннях. f = Мінімізація функції f1 100 11x 131 121
14x 150 17x 161
1C0 1Dx 1F1 1E1
180 190 1B1 1Ax
00 10 31 2x
40 51 71 6x
C1 D0 F0 Ex
8x 91 Bx A1
Склеювання клітинок 0, 4, 10, 14 результат – /b/d/e Мінімізуються набори 0, 4, 10. Склеювання клітинок 10, 11, 14, 15 результат – a/b/d Мінімізується набір 10, 15. Склеювання клітинок 18, 19, 1C, 1D результат – ab/d Мінімізуються набори 18, 19, 1C. Склеювання клітинок F, E результат - /abcd Мінімізується набір F. Невизначені значення функції на наборах 2, 6, 8, B, 17, 1A довизначаємо як “1”, оскільки вони не беруть участі у склеювані.
Невизначені значення функції на наборах 11, 14, 1D, E довизначаємо як “0”, оскільки вони беруть участь у склеювані за “0”. Набори 0, 4, 11, 15, 18, 19, 1C, 1D, F, E беруть участь у одному склеювані. Набори 10, 14 беруть участь у двох склеюваннях. f = Мінімізація функції f2 100 110 131 12x
140 15x 171 161
1C0 1D1 1F1 1Ex
18x 190 1Bx 1A0
00 10 3x 21
40 51 71 6x
Cx D0 Fx E0
80 9x B1 A1
Склеювання клітинок 10, 14, 1С, 18, 0, 4, C, 8 результат - /d/e Мінімізується набір 0, 4, 8, 10, 14, 1C. Склеювання клітинок C, D, F, E результат - /abc Мінімізуються набори D, E. Склеювання клітинок 18, 19, 1B, 1A результат – ab/c Мінімізуються набори 19, 1A. 4) Склеювання клітинок 11, 15 результат - a/b/de Мінімізуються набори 11. 5) Склеювання клітинок 1, 3 результат - /a/b/ce Мінімізуються набори 1. Невизначені значення функції на наборах 3, F, 1B, 18, 15 довизначаємо як “0”, оскільки вони беруть участь у склеювані за “0”. Невизначені значення функції на наборах 6, 9, 12, 1E довизначаємо як “1”, оскільки вони не беруть участь у склеювані. Набори 10, 14, 1C, 0, 4, 8, D, F, E, 19, 1B, 1A, 11, 15, 1, 3 беруть участь у одному склеювані.
Набори 18, C беруть участь у двох склеюваннях.
f = Мінімізація функції f3 10x 111 13x 120
140 150 171 16x
1Cx 1D0 1Fx 1E0
180 19x 1B0 1A1
00 1x 30 21
4x 50 7x 61
C0 Dx F1 E0
80 90 B1 Ax
1) Склеювання клітинок 0, 4, C, 8, 10, 14, 1C, 18 результат - /d/e Мінімізується набір 0, C, 8, 14, 18. 2) Склеювання клітинок 1, 5, D, 9 результат - /a/de Мінімізується набір 5, 9. 3) Cклеювання клітинок 1C, 1D, 1F, 1E результат - abc Мінімізуються набори 1D, 1E. 4) Склеювання клітинок 3, 7 результат - /a/bcd Мінімізується набір 3. 5) Склеювання клітинок 12, 16 результат – a/bd/e Мінімізується набір 12. 6) Склеювання клітинок А, E результат – /abd/e Мінімізується набір E. Невизначені значення функції на наборах 1, 4, 7, D, A, 10, 16, 1C, 1F довизначаємо як “0”, оскільки вони беруть участь у склеювані за “0”. Невизначені значення функції на наборах 13, 19 довизначаємо як “1”, оскільки вони не беруть участь у склеювані. Набори 0, 4, C, 8, 10, 14, 18, 1, 5, D, 9, 1D, 1F, 1E, 3, 7, 12, 16, A, E беруть участь у одному склеювані. Набір 1C бере участь у двох склеюваннях. f = Мінімізація функції f4 100 11x 131 120
14x 150 17x 161
1C1 1Dx 1F0 1E0
180 190 1B0 1Ax
00 10 30 2x
40 5x 71 61
C0 D0 F1 Ex
8x 90 B1 A0
Склеювання клітинок 11, 15, 1D, 19, 1, 5, D, 9 результат - /de Мінімізуються набори 1, D, 9, 15, 19. 2) Склеювання клітинок 18, 19, 1B, 1A результат – ab/c Мінімізується набір 18, 19, 1B. 3) Склеювання клітинок 0, 1, 3, 2 результат – /a/b/c Мінімізується набір 0, 1, 3. 4) Склеювання клітинок 0, 4, C, 8 результат – /a/d/e Мінімізується набір 0, 4, C. 5) Склеювання клітинок E, A, 1E, 1A результат – bd/e Мінімізується набір A, 1E. 6) Склеювання клітинок 10, 14 результат – a/b/d/e Мінімізується набір 10. 7) Склеювання клітинок 17, 1F результат – ae Мінімізується набір 1F. Невизначені значення функції на наборах 2, 5, 8, E, 11, 14, 17, 1D, 1A довизначаємо як “0”, оскільки вони беруть участь у склеювані за “0”. Набори 11, 15, 1D, 18, 1, 5, D, 9, 1B, 1, 2, 3, 4, C, 8, E, A, 1E, 10, 14, 17, 1F беруть участь у одному склеювані.
Набори 19, 1A беруть участь у двох склеюваннях. f = 3.1 Реалізувати функції, отримані в результаті виконання завдання 2.3, у базисі Буля. На виході кожного елемента написати формулу сигналу, який даним елементом реалізується. Для 5 довільних вхідних наборів визначити рівні сигналів (0 або 1) на виході кожного елемента схеми. Елементи можуть мати довільну кількість входів. Навести таблиці істинності задіяних елементів. f0 = b/ce v /a/cd v abc v abe v a/bd v acd v /b/cd
Генеруєм 5 довільних наборів: Набори І /a І /b І /c К b/ce К /a/cd К abc К abe К a/bd К acd К /b/cd Д f
10000 0 1 1 0 0 0 0 0 0 0 0
10001 0 1 1 0 0 0 0 0 0 0 0
10010 0 1 1 0 0 0 0 1 0 1 1
10011 0 1 1 0 0 0 0 1 0 1 1
10100 0 1 0 0 0 0 0 0 0 0 0
І – інвертор; К – кон’юнктор; Д – диз’юнктор. Таблиці істинності: Інвертор А f Кон’юнктор на 3 входи А f Диз’юнктор А f
А – аргумент; f – функція. 3.2 Реалізувати функції, отримані в результаті виконання завдання 2.3, у базисі Буля. На виході кожного елемента написати формулу сигналу, який даним елементом реалізується. Для 5 довільних вхідних наборів визначити рівні сигналів (0 або 1) на виході кожного елемента схеми. Усі елементи повинні мати не більше двох входів. Навести таблиці істинності задіяних елементів. f0 = b/ce v /a/cd v abc v abe v a/bd v acd v /b/cd
Генеруєм 5 довільних наборів: Набори І /a І /b І /c К b/c К b/ce К /a/c К /a/cd К ab К abc К ab К abe К a/b К a/bd К ac К acd К /b/c К /b/cd
10000 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0
10001 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0
10010 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 1 1
10011 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 1 1
10100 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0
Набори Д b/ce v /a/cd Д abc v abe Д a/bd v acd Д b/ce v /a/cd v abc v abe Д a/bd v acd v /b/cd Д b/ce v /a/cd v abc v abe v a/bd v acd v /b/cd
10000 0 0 0 0 0 0
10001 0 0 0 0 0 0
10010 0 0 1 0 1 1
10011 0 0 1 0 1 1
10100 0 0 0 0 0 0
І – інвертор; К – кон’юнктор; Д – диз’юнктор. Таблиці істинності: Інвертор А f Кон’юнктор А f Диз’юнктор А f
0 1 1 0
00 01 10 11 0 0 0 1
00 01 10 11 0 1 1 1
А – аргумент; f – функція. 3.3 Реалізувати функції, отримані в результаті виконання завдання 2.3, у монобазисі І-НЕ. На виході кожного елемента І-НЕ написати формулу сигналу, який даним елементом реалізується. Для 5 довільних вхідних наборів визначити рівні сигналів (0 або 1) на виході кожного елемента схеми. Елементи можуть мати довільну кількість входів. Навести таблиці істинності задіяних елементів. f0 = b/ce v /a/cd v abc v abe v a/bd v acd v /b/cd
Генеруєм 5 довільних наборів: Набори К /a К /b К /c К /(b/ce) К /(/a/cd) К /(abc) К /(abe) К /(a/bd) К /(acd) К /(/b/cd) Д f
10000 0 1 1 1 1 1 1 1 1 1 0
10001 0 1 1 1 1 1 1 1 1 1 0
10010 0 1 1 1 1 1 1 0 1 0 1
10011 0 1 1 1 1 1 1 0 1 0 1
10100 0 1 0 1 1 1 1 1 1 1 0
К – кон’юнктор; Д – диз’юнктор. Таблиці істинності: Кон’юнктор на 2 входи А f Кон’юнктор на 3 входи А f Диз’юнктор А f
А – аргумент; f – функція. 3.4 Реалізувати функції, отримані в результаті виконання завдання 2.3, у монобазисі Шеффера. На виході кожного елемента Шеффера написати формулу сигналу, який даним елементом реалізується. Для 5 довільних вхідних наборів визначити рівні сигналів (0 або 1) на виході кожного елемента схеми. Усі елементи Шеффера повинні бути двовходовими. Навести таблицю істинності елемента Шеффера. f0 = b/ce v /a/cd v abc v abe v a/bd v acd v /b/cd
Генеруєм 5 довільних наборів: Набори К /a К /b К /c К b/c К /a/c К ab К ab К a/b К ac К /b/c K b/c K /a/c K ab K ab K a/b K ac K /b/c
10000 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
10001 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
10010 0 1 1 1 1 1 1 0 1 0 1 1 1 1 0 1 0
10011 0 1 1 1 1 1 1 0 1 0 1 1 1 1 0 1 0
10100 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Набори Д /bc Д ac Д /a/b Д /a/b Д /ab Д /a/c Д bc Д /bc/e v ac/d Д /a/b/c v /a/b/e Д /ab/d v /a/c/d Д bc/d Д b/ce v /a/cd Д abc v abe Д a/bd v acd Д /b/cd Д /bc/e v ac/d v /a/b/c v /a/b/e Д /ab/d v /a/c/d v bc/d Д b/ce v /a/cd v abc v abe v a/bd v acd v /b/cd
10000 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0
10001 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0
10010 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1
10011 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1
10100 0 0 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 0
К – кон’юнктор; Д – диз’юнктор. Таблиці істинності: Кон’юнктор на 2 входи А f Диз’юнктор А f
00 01 10 11 1 1 1 0
00 01 10 11 1 0 0 0
А – аргумент; f – функція. 3.5 Реалізувати функції, отримані в результаті виконання завдання 2.4, у монобазисі АБО-НЕ. На виході кожного елемента АБО-НЕ написати формулу сигналу, який даним елементом реалізується. Для 5 довільних вхідних наборів визначити рівні сигналів (0 або 1) на виході кожного елемента схеми. Елементи можуть мати довільну кількість входів. Навести таблиці істинності задіяних елементів. f = (/a v b v d) (b v c v d) (a v c v /d) (a v /c v /d) (/b v c v e) (a v /b v /d v e)
Набори I /a І /b І /c І /d Д /(/a v b v d) Д /(b v c v d) Д /(a v c v /d) Д /( a v /c v /d) Д /(/b v c v e) Д /( a v /b v /d v e) К f
10000 0 1 1 1 1 1 0 0 0 0 0
10001 0 1 1 1 1 1 0 0 0 0 0
10010 0 1 1 0 0 0 0 0 0 0 1
10011 0 1 1 0 0 0 0 0 0 0 1
10100 0 1 0 1 1 0 0 0 0 0 0
Таблиці істинності: Інвертор А f Диз’юнктор на 3 входи А f Диз’юнктор на 4 входи А f Кон’юнктор А f
3.6 Реалізувати функції, отримані в результаті виконання завдання 2.4, у монобазисі Пірса. На виході кожного елемента Пірса написати формулу сигналу, який даним елементом реалізується. Для 5 довільних вхідних наборів визначити рівні сигналів (0 або 1) на виході кожного елемента схеми. Усі елементи Пірса повинні бути двовходовими. Навести таблицю істинності елемента Пірса. f = (/a v b v d) (b v c v d) (a v c v /d) (a v /c v /d) (/b v c v e) (a v /b v /d v e)
Набори Д /a Д /b Д /c Д /d Д /(/a v b) Д /(b v c) Д /(a v c) Д /(a v /c) Д /(/b v c) Д /(/a v /b) Д /(/c v /d) К /a v b К b v c К a v c К a v /c К /b v c К a v /b К /d v e
10000 0 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1
10001 0 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1
10010 0 1 1 0 1 1 0 0 0 0 0 0 0 1 1 1 1 1
10011 0 1 1 0 1 1 0 0 0 0 0 0 0 1 1 1 1 1
10100 0 1 0 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1
Набори Д /(/a v b v d) Д /(b v c v d) Д /(a v c v /d) Д /(a v /c v /d) Д /(/b v c v e) Д /(a v /b v /d v e) К (/a v b v d) (b v c v d) К (a v c v /d) (a v /c v /d) К (/b v c v e) (a v /b v /d v e) Д /((/a v b v d) (b v c v d)) Д /((a v c v /d) (a v /c v /d)) Д /((/b v c v e) (a v /b v /d v e)) К S Д /S К f
10000 1 1 0 0 0 0 0 1 1 1 0 0 0 1 0
10001 1 1 0 0 0 0 0 1 1 1 0 0 0 1 0
10010 0 0 0 0 0 0 1 1 1 0 0 0 1 0 1
10011 0 0 0 0 0 0 1 1 1 0 0 0 1 0 1
10100 1 0 0 0 0 0 0 1 1 1 0 0 0 1 0
Таблиці істинності: Кон’юнктор А f Диз’юнктор А f
00 01 10 11 1 0 0 0
00 01 10 11 1 0 0 0
3.7 Функції, мінімізовані в завданні 2.3, реалізувати за допомогою дешифраторів. У кожного з задіяних дешифраторів кількість виходів не повинна перевищувати 16. Навести таблиці істинності, які пояснюють роботу задіяних дешифраторів.
Таблиця істинності: № Входи Виходи
1 1 0
0 1 0 1 0 1 1 0
№ Входи Виходи
8 4 2 1 ВК 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
2 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
3 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
4 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
5 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0
6 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
7 0 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
8 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
9 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
10 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
11 1 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
12 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
13 1 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
14 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
15 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3.8 Функції, мінімізовані в завданні 2.3, реалізувати за допомогою мультиплексорів. У кожного з задіяних мультиплексорів кількість інформаційних входів не повинна перевищувати 16. Навести таблиці істинності, які пояснюють роботу задіяних мультиплексорів.
Входи 8 4 2 1 На виході f сигнал з інформаційного
0 0 0 0 Входу 0
0 0 0 1 Входу 1
0 0 1 0 Входу 2
0 0 1 1 Входу 3
0 1 0 0 Входу 4
0 1 0 1 Входу 5
0 1 1 0 Входу 6
0 1 1 1 Входу 7
1 0 0 0 Входу 8
1 0 0 1 Входу 9
1 0 1 0 Входу 10
1 0 1 1 Входу 11
1 1 0 0 Входу 12
1 1 0 1 Входу 13
1 1 1 0 Входу 14
1 1 1 1 Входу 15
Входи На виході f сигнал з інформаційного
1
0 1 Входу 0 Входу 1
3.9 Функції, мінімізовані в завданні 2.3, реалізувати за допомогою постійного запам'ятовуючого пристрою (ПЗП). Скласти таблиці прошиття ПЗП. Невизначені значення функції на наборах А, 13, 16, 19, 1С, 1F довизначаємо як “1”, оскільки вони беруть участь у склеювані за “1”. Вхідні сигнали (входи ПЗП) Вихідні сигнали (виходи ПЗП)
3.10 Функції, мінімізовані в завданні 2.3, реалізувати за допомогою програмованої логічної матриці (ПЛМ) типу PLA. Скласти таблиці прошиття (програмування) ПЛМ. Навести функціональну схему запрограмованої ПЛМ. f0 = b/ce v /a/cd v abc v abe v a/bd v acd v /b/cd
Елементи І Входи Виходи
A4 A3 A2 A1 A0 D0 D1
e d c b a
f0
I0 I2 I4 I6 I8 I10 112 I1 I3 I5 I7 I9 I11 I13 H - - H - - - 0 0 0 0 0 0 0 - - - - H H H 0 0 0 0 0 0 0 L L H - - H L 0 0 0 0 0 0 0 H - H H L - L 0 0 0 0 0 0 0 - L H H H H - 0 0 0 0 0 0 0 - - - - - - - А А А А А А А А А А А А А А А А А А А А А
На перетині рядка з позначенням елемента І та графи з номером входу стоять такі символи: "H" - сигнал з даного входу заведений на відповідний елемент І в прямому коді; "L" - сигнал з даного входу заведений на відповідний елемент І в інверсному коді; "-" - сигнал з даного входу від'єднаний від відповідного елемента І; "0" - сигнал з даного входу заведений на відповідний елемент І одночасно в прямому та інверсному кодах (це початковий стан ПЛМ, даний елемент І не використовується). На перетині рядка з номером елемента І та графи з номером виходу (тобто, номером елемента АБО) стоять такі символи: "A" - сигнал з даного елемента І заведений на вхід відповідного елемента АБО і проходить через елемент АБО на відповідний вихід ПЛМ (це початковий стан незапрограмованої ПЛМ); "-" - сигнал з даного елемента І від'єднаний від входу відповідного елемента АБО і не проходить на відповідний вихід ПЛМ. 3.11 Функції, мінімізовані в завданні 2.4, реалізувати за допомогою програмованої матриці логіки (ПМЛ) типу PAL. Скласти таблиці прошиття (програмування) ПМЛ. Навести функціональну схему запрограмованої ПМЛ. f0 = (/a v b v d) (b v c v d) (a v c v /d) (a v /c v /d) (/b v c v e) (a v /b v /d v e)
Інформація на виходах: D0: a/b/d v /b/c/d D1: /a/cd v /acd D2: b/c/e v /abd/e D3: a/b/d v /b/c/d v /a/cd v /acd D4: b/c/e v /abd/e v a/b/d v /b/c/d v /a/cd v /acd D5: (/b v c v e) (a v /b v /d v e) (/a v b v d) (b v c v d) (a v c v /d) (a v /c v /d) Таблиця прошиття: Елементи І Вхід/Вихід D Входи А Вихід Примітки
5 4 3 2 1 0 4 3 2 1 0
e d c b a
I0 I1 - - - - - - - - - - - - - - L L - L L L H - D0 D0
I2 I3 - - - - - - - - - - - - - - H H L H - - L L D1 D1
I4 I5 - - - - - - - - - - - - L L - H L - H H - L D2 D2
На перетині рядка з позначенням елемента І та графом з номером входу і номером зворотнього зв’язку стоять такі символи: "H" - сигнал з даного входу заведений на відповідний елемент І в прямому коді; "L" - сигнал з даного входу заведений на відповідний елемент І в інверсному коді; "-" - сигнал з даного входу від'єднаний від відповідного елемента І; "0" - сигнал з даного входу заведений на відповідний елемент І одночасно в прямому та інверсному кодах (початковий стан ПЛМ, даний елемент І не використовується). 3.12 Для схем, побудованих у завданнях 3.1 - 3.7, визначити їх "ціну", підрахувавши кількість корпусів задіяних елементів. Визначити оптимальний (найдешевший) варіант. Схема завдання 3.1: 11 корпусів; Схема завдання 3.2: 23 корпуса; Схема завдання 3.3: 11 корпусів; Схема завдання 3.4: 37 корпуса; Схема завдання 3.5: 11 корпусів; Схема завдання 3.6: 33 корпуса; Схема завдання 3.7: 4 корпуса. Оптимальний варіант: схема 3.7; 3.13 Для схем, побудованих у завданнях 3.1 - 3.7, визначити їх "ціну", підрахувавши кількість виводів задіяних елементів. Визначити оптимальний (найдешевший) варіант. Схема завдання 3.1: 35 виводів; Схема завдання 3.2: 47 виводів; Схема завдання 3.3: 35 виводів; Схема завдання 3.4: 61 виводів; Схема завдання 3.5: 34 виводів. Схема завдання 3.6: 56 виводів; Схема завдання 3.7: 35 вивода. Оптимальний варіант : схема 3.5. 3.14 Для схем, побудованих у завданнях 3.1 - 3.7, визначити час проходження сигналів від входу до виходу. Визначити оптимальний (найшвидший) варіант. Схема завдання 3.1: 5; Схема завдання 3.2: 8; Схема завдання 3.3: 5; Схема завдання 3.4: 11; Схема завдання 3.5: 5. Схема завдання 3.6: 11; Схема завдання 3.7: 3. Оптимальний варіант: схема 3.7. 3.15 На базі ПЛМ типу PAL з кількістю інформаційних входів не більше 16 і з входом вибору кристалу створити дешифратор діапазону адрес, який повинен формувати сигнали "більше", "дорівнює", "менше". Діапазон адрес задається 17-розрядним двійковим кодом, який формується з 17 молодших двійкових розрядів коду (2ц1л)(1ц2л)(2ц7л)(1ц8л)(2ц8л). Отриманий таким чином 17-розрядний двійковий код необхідно ще раз переписати, міняючи місцями старші й молодші двійкові розряди (переписати ззаду наперед). Менший з двох 17-розрядних кодів буде нижньою границею діапазону адрес, більший - верхньою. Сигнал "менше" повинен формуватися, коли на вході схеми присутні адреси, які менші за нижню границю діапазону. Сигнал "більше" повинен формуватись, коли на вході схеми присутні адреси, які більші за верхню границю діапазону. Сигнал "дорівнює" повинен формуватись, коли на вході схеми присутні адреси, які знаходяться посередині діапазону. У кожної з задіяних ПЛМ кількість входів не повинна перевищувати 16. Скласти таблиці прошиття ПЛМ, для кожного рядка таблиці прошиття визначити діапазон адрес, якому цей рядок відповідає. Намалювати числову вісь, на якій позначити: мінімальне і максимальне значення 17-розрядного коду; верхню і нижню границі; діапазони кодів, які обробляються різними ПЛМ. (2ц1л)(1ц2л)(2ц7л)(1ц8л)(2ц8л) = 5732816 = 0101 0111 0011 0010 10002 17 молодших двійкових розрядів коду: 101110011001010002 Отриманий 17-розрядний двійковий код переписаний, міняючи місцями старші й молодші двійкові розряди (переписаний ззаду наперед): 000101001100111012 Нижня границя діапазону адрес: 0 0010 1001 1001 11012 = 0299D16 Верхня границя діапазону адрес: 1 0111 0011 0010 10002 = 1732816 Таблиці прошиття ПЛМ: № Входи А ПЛМ Виходи Діапазон кодів
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 S від до
I0 L L H L H L L H H L L H H H L H А - - - 299D 299D
I1 L L H L H L L H H L L H H H L L А - - - 299C 299C
I2 L L H L H L L H H L L H H L - - А - - - 2998 299B
I3 L L H L H L L H H L L H L - - - А - - - 2990 2997
I4 L L H L H L L H H L L L - - - - А - - - 2980 298F
I5 L L H L H L L H L - - - - - - - A - - - 2900 297F
I6 L L H L H L L L - - - - - - - - А - - - 2800 28FF
I7 L L H L L - - - - - - - - - - - А - - - 2000 27FF
I8 L L L - - - - - - - - - - - - - А - - - 0000 1FFF
Схема з'єднання ПЛМ:
Числова вісь:
4.1 Виконати порозрядні операції над двома 16-розрядними кодами: (1ц1л)(2ц1л)(1ц2л)(2ц2л) and (1ц7л)(2ц7л)(1ц8л)(2ц8л) – операція І, (1ц1л)(2ц1л)(1ц2л)(2ц2л) or (1ц7л)(2ц7л)(1ц8л)(2ц8л) – операція АБО, (1ц1л)(2ц1л)(1ц2л)(2ц2л) xor (1ц7л)(2ц7л)(1ц8л)(2ц8л) – операція ВИКЛЮЧНЕ АБО. Синтезувати в базисі Буля функціональні схеми пристроїв, які виконують дані операції, і навести значення сигналів на входах схеми і на виходах кожного елемента схеми. a = (1ц1л)(2ц1л)(1ц2л)(2ц2л) = 357816 = 0011 0101 0111 10002 b = (1ц7л)(2ц7л)(1ц8л)(2ц8л) = 532816 = 0101 0011 0010 10002 Аргументи a & b a v b a # b
4.2 Виконати операцію віднімання чисел у двійковому коді: (1ц3л)(1ц1л)(2ц1л)-(1ц8л)(2ц8л), (1ц8л)(2ц8л)-(1ц3л)(1ц1л)(2ц1л). Від'ємний результат подати у прямому коді. Після виконання вказаних операцій навести у шістнадцятковому коді значення операндів і результату. Синтезувати на базі повних однорозрядних суматорів функціональну схему багаторозрядного суматора, який виконує дані операції, і навести значення сигналів на входах схеми і на виходах кожного однорозрядного суматора. Синтезувати в базисі Буля функціональну схему повного однорозрядного суматора, навести його таблицю істинності і значення сигналів на входах суматора і на виходах кожного його елемента для кожного розряду згаданого вище багаторозрядного суматора. (1ц3л)(1ц1л)(2ц1л) = 33516 = 0011 0011 01012 (1ц8л)(2ц8л) = 2816 = 0010 10002 Виконання операції +335 - 28 +335 + (-28); 0.0011 0011 0101 + 1.0000 0010 1000 - числа у прямому двійковому коді, крапка відділяє в даному випадку знак числа від значущих розрядів числа; 0.0011 0011 0101 + 1.1111 1101 1000 - числа у доповняльному двійковому коді; 0.0011 0011 0101 + 1.1111 1101 1000 0.0011 0000 1101 - результат додатній у двійковому коді. 0.30D - результат у прямому шістнадцятковому коді. Відповідь: +30D.
335 - 28 = 30D Виконання операції +28 - 335 +28 + (-335); 0.0000 0010 1000 + 1.0011 0011 0101 - числа у прямому двійковому коді, крапка відділяє в даному випадку знак числа від значущих розрядів числа; 0.0000 0010 1000 + 1.1100 1100 1011 - числа у доповняльному двійковому коді; 0.0000 0010 1000 + 1.1100 1100 1011 1.1100 1111 0011 - результат від'ємний у двійковому доповняльному коді. 5) 1.0011 0000 1101 - результат від'ємний у прямому двійковому коді.
1.30D - результат у прямому шістнадцятковому коді. Відповідь: -30D. 28 - 335 = -30D
Таблиця істинності повного однорозрядного суматора: Входи Виходи
З таблиці істинності видно, що Co = /ABCi v A/BCi v AB/Ci v ABCi = BCi v ACi v AB; S = /A/BCi v /AB/Ci v A/B/Ci v ABCi. Функціональна схема повного однорозрядного сумматора:
Операція « 335 - 28 » : A B Ci D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 D11 D12
/A /B /Ci AB ACi BCi /A/BCi /AB/Ci A/B/Ci ABCi Co S
0 1 0 1 0 1 0 0 0 0 1 0 0 0 1
0 0 0 1 1 1 0 0 0 0 0 0 0 0 0
0 0 0 1 1 1 0 0 0 0 0 0 0 0 0
1 0 0 0 1 1 0 0 0 0 0 1 0 0 1
1 0 0 0 1 1 0 0 0 0 0 1 0 0 1
0 0 0 1 1 1 0 0 0 0 0 0 0 0 0
0 0 0 1 1 1 0 0 0 0 0 0 0 0 0
1 1 0 0 0 1 1 0 0 0 0 0 0 1 0
1 0 1 0 1 0 0 1 0 0 0 0 0 1 0
0 1 1 1 0 0 0 0 1 0 0 0 0 1 0
1 0 1 0 1 0 0 1 0 0 0 0 0 1 0
0 0 1 1 1 0 0 0 0 1 0 0 0 0 1
1 0 0 0 1 1 0 0 0 0 0 1 0 0 1
Операція « 28 - 335 » : A B Ci D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 D11 D12
/A /B /Ci AB ACi BCi /A/BCi /AB/Ci A/B/Ci ABCi Co S
0 1 0 1 0 1 0 0 0 0 1 0 0 0 1
0 0 0 1 1 1 0 0 0 0 0 0 0 0 0
0 0 0 1 1 1 0 0 0 0 0 0 0 0 0
0 1 0 1 0 1 0 0 0 0 1 0 0 0 1
0 1 0 1 0 1 0 0 0 0 1 0 0 0 1
0 0 0 1 1 1 0 0 0 0 0 0 0 0 0
0 0 0 1 1 1 0 0 0 0 0 0 0 0 0
1 1 0 0 0 1 1 0 0 0 0 0 0 1 0
0 1 1 1 0 0 0 0 1 0 0 0 0 1 0
1 0 1 0 1 0 0 1 0 0 0 0 0 1 0
0 1 1 1 0 0 0 0 1 0 0 0 0 1 0
0 0 1 1 1 0 0 0 0 1 0 0 0 0 1
0 1 0 1 0 1 0 0 0 0 1 0 0 0 1
4.3 Виконати округлення 16-розрядних двійкових кодів із точністю до 1/2 одиниці молодшого розряду, який залишається. Коди: 1(1ц4л)(2ц4л)(1ц5л)(2ц5л) - від'ємне число в доповняльному коді, 0(1ц4л)(2ц4л)(1ц5л)(2ц5л) - додатне число в доповняльному коді. При першому округленні відкинути два молодших розряди. Наступні округлення провести послідовно через кожних два двійкових розряди. Результат чергового округлення – це початкові дані для наступного округлення. 1(1ц4л)(2ц4л)(1ц5л)(2ц5л) = 1 (172316) = 1 1000 0111 0010 00112 0(1ц4л)(2ц4л)(1ц5л)(2ц5л) = 0 (172316) = 0 1000 0111 0010 00112 Округлення числа 1 1000 0111 0010 0011: 110 00 01 11 00 10 00(00) +000 00 00 00 00 00 00(01) 110 00 01 11 00 11 00(01) Розряди, які відкидаються, взято в дужки. Результат першого округлення: 110 00 01 11 00 10 00(00) 110 00 01 11 00 10(00 00) +000 00 00 00 00 00(01 11) 110 00 01 11 00 10(01 11) Розряди, які відкидаються, взято в дужки. Результат першого округлення: 110 00 01 11 00 10(00 00) 110 00 01 11 00(10 00 00) +000 00 00 00 00(01 11 11) 110 00 01 11 00(11 11 11) Розряди, які відкидаються, взято в дужки. Результат першого округлення: 110 00 01 11 00(10 00 00) 110 00 01 11(00 00 00 00) +000 00 00 00(01 11 11 11) 110 00 01 11(10 11 11 11) Розряди, які відкидаються, взято в дужки. Результат першого округлення: 110 00 01 11(00 00 00 00) 110 00 01(10 00 00 00 00) +000 00 00(01 11 11 11 11) 110 00 01(11 11 11 11 11) Розряди, які відкидаються, взято в дужки. Результат першого округлення: 110 00 01(10 00 00 00 00) 110 00(01 00 00 00 00 00) +000 00(01 11 11 11 11 11) 110 00(10 11 11 11 11 11) Розряди, які відкидаються, взято в дужки. Результат першого округлення: 110 00(01 00 00 00 00 00) 110(00 00 00 00 00 00 00) +000(01 11 11 11 11 11 11) 110(11 11 11 11 11 11 11) Розряди, які відкидаються, взято в дужки. Результат першого округлення: 110(00 00 00 00 00 00 00) Округлення числа 0 1000 0111 0010 0011: 010 00 01 11 00 10 00(00) +000 00 00 00 00 00 00(10) 010 00 01 11 00 10 00(10) Розряди, які відкидаються, взято в дужки. Результат першого округлення: 010 00 01 11 00 10 00(00) 010 00 01 11 00 10(00 00) +000 00 00 00 00 00(10 00) 010 00 01 11 00 10(10 00) Розряди, які відкидаються, взято в дужки. Результат першого округлення: 010 00 01 11 00 10(00 00) 010 00 01 11 00(10 00 00) +000 00 00 00 00(10 00 00) 010 00 01 11 01(00 00 00) Розряди, які відкидаються, взято в дужки. Результат першого округлення: 010 00 01 11 00(10 00 00) 010 00 01 10(00 00 00 00) +000 00 00 00(10 00 00 00) 010 00 01 10(10 00 00 00) Розряди, які відкидаються, взято в дужки. Результат першого округлення: 010 00 01 10(00 00 00 00) 010 00 01(10 00 00 00 00) +000 00 00(10 00 00 00 00) 010 00 10(00 00 00 00 00) Розряди, які відкидаються, взято в дужки. Результат першого округлення: 010 00 01(10 00 00 00 00) 010 00(01 00 00 00 00 00) +000 00(10 00 00 00 00 00) 010 00(11 00 00 00 00 00) Розряди, які відкидаються, взято в дужки. Результат першого округлення: 010 00(01 00 00 00 00 00) 010 (00 00 00 00 00 00 00) +000 (10 00 00 00 00 00 00) 010 (10 00 00 00 00 00 00) Розряди, які відкидаються, взято в дужки. Результат першого округлення: 010 (00 00 00 00 00 00 00) 4.4 Виконати операцію віднімання чисел у двійково-десятковому коді (числа задані в шістнадцятковому коді): (1ц1л)(2ц1л)-(1ц8л)(2ц8л), (1ц8л)(2ц8л)-(1ц1л)(2ц1л). Від'ємний результат подати у прямому двійково-десятковому коді. (1ц1л)(2ц1л) = 3516 = 0011 01012 = 5310 (1ц8л)(2ц8л) = 2816 = 0010 10002 = 4010 Операція 53 - 40 53 = 0101 0011 40 = 0100 0000 = B Двійковий обернений код B(дв.о.к.) = 1011 1111, Двійковий доповняльний код B(дв.д.к.) = 1100 0000, 1001 1001 +1100 0000 0101 1001 – двійково-десятковий обернений код B(дв.-дес.о.к.) 0101 1010 – двійково-десятковий доповняльний код B(дв.-дес.д.к.). Додавання доповняльного коду за правилами двійково-десяткової арифметики: 0101 0011 + 0101 1010 1010 1101 + 0000 0110 (корекція першої тетради) 1011 0011 + 0110 0000 (корекція другої тетради) 1 0001 0011 Результат 0001 0011 = 13 перенос за межі розрядної сітки вказує на те, що результат додатній, тобто, 13 - це його абсолютна величина. Операція 40 - 53 40 = 0100 0000 53 = 0101 0011 = B Двійковий обернений код B(дв.о.к.) = 1010 1100, Двійковий доповняльний код B(дв.д.к.) = 1010 1101, 1001 1001 +1010 1101 0100 0110 – двійково-десятковий обернений код B(дв.-дес.о.к.) 0100 0111 – двійково-десятковий доповняльний код B(дв.-дес.д.к.). Додавання доповняльного коду за правилами двійково-десяткової арифметики: 0100 0000 + 0100 0111 1000 0111 Результат 1000 0111, відсутність переносу за межі розрядної сітки вказує на те, що результат у доповняльному двійково-десятковому коді від'ємний, щоб отримати його абсолютну величину необхідно перевести результат з доповняльного коду в прямий. Алгоритм переведення такий же, як і для переведення з прямого коду в доповняльний: інверсія двійкових розрядів 0111 1000; додавання 1 молодшого розряду 0111 1001 доповнення до 99 +1001 1001 0001 0010 прямий двійково-десятковий код 0001 0011. Результат = -0001 0011 = -13. 4.5 Виконати операції множення в доповняльному коді двійкових чисел, поданих спочатку в прямому коді: (+2ц1л) х (+2ц8л), (-2ц1л) х (+2ц8л), (+2ц1л) х (-2ц8л), (-2ц1л) х (-2ц8л). Попередньо всі числа перевести в доповняльний код. Навести алгоритм множення й таблицю, яка відображає зміни всіх операндів (множеного, множника, лічильника, проміжної суми, окремих розрядів та ознак), які беруть участь у множенні, після виконання кожного з операторів алгоритму. Синтезувати на базі повних однорозрядних суматорів і з використанням елементів базиса Буля функціональну схему матричного помножувача, який виконує операцію множення додатніх чисел (+2ц1л) х (+2ц8л), і навести значення сигналів на входах схеми і на виходах кожного елемента схеми. (2ц1л) = 516 = 01012 (2ц8л) = 816 = 10002 (+5) x (+8) = (+40) Алгоритм множення:
На алгоритмі множення введені такі позначеня: Лч - лічильник; n - кількість двійкових розрядів множника без знаку; Мк - множник; Ме - множене; S - суматор, після виконання алгоритму в ньому буде знаходитися результат. Розрядність суматора без врахування знаку дорівнює n+m, де m - кількість розрядів множеного без врахування знаку (у прикладі n=m); мол.р. - молодший розряд; АЗП - арифметичний зсув праворуч; ЛЗП - логічний зсув праворуч. (+5) x (+8) = (+40) Mе = 0.101 Мк = 1.000 Лч S Мк мол. р. Мк Наступна операція
4 00.000000 1.000 0 S = АЗП(S)
00.000000
Мк = ЛЗП(Мк)
00.000000 0.100
Лч = Лч - 1
3 00.000000
0 S = АЗП(S)
00.000000
Мк = ЛЗП(Мк)
00.000000 0.010
Лч = Лч - 1
2 00.000000
0 S = АЗП(S)
00.000000
Мк = ЛЗП(Мк)
00.000000 0.001
Лч = Лч - 1
1 00.000000
1 S = S + Ме
00.000000 +00.101000 00.101000
Мк=ЛЗП (Мк)
00.101000 0.000
Лч = Лч – 1
0 00.101000
0 кінець
00.1010002 (доп) = +1010002 (пр) = +4010 (-5) x (+8) = (-40) Mе = 1.011 Мк = 1.000 Лч S Мк мол. р. Мк Наступна операція
4 00.000000 1.000 0 S = АЗП(S)
00.000000
Мк = ЛЗП(Мк)
00.000000 0.100
Лч = Лч - 1
3 00.000000
0 S = АЗП(S)
00.000000
Мк = ЛЗП(Мк)
00.000000 0.010
Лч = Лч - 1
2 00.000000
0 S = АЗП(S)
00.000000
Мк = ЛЗП(Мк)
00.000000 0.001
Лч = Лч - 1
1 00.000000
1 S = S + Ме
00.000000 +11.011000 11.011000
S = АЗП(S)
11.011000 0.000
Мк=ЛЗП (Мк)
11.011000
Лч = Лч – 1
0 11.011000
0 кінець
11.0110002 (доп) = - 1010002 (пр) = -4010 (+5) x (-8) = (-40) Mе = 0.101 - Mе = 1.011 - Мк = 1.000 Лч S Мк мол. р. Мк Наступна операція
4 00.000000 1.000 0 S = АЗП(S)
00.000000
Мк = ЛЗП(Мк)
00.000000 0.100
Лч = Лч - 1
3 00.000000
0 S = АЗП(S)
00.000000
Мк = ЛЗП(Мк)
00.000000 0.010
Лч = Лч - 1
2 00.000000
0 S = АЗП(S)
00.000000
Мк = ЛЗП(Мк)
00.000000 0.001
Лч = Лч - 1
1 00.000000
1 S = S + Ме
00.000000 +11.011000 11.011000
Мк=ЛЗП (Мк)
11.011000 0.000
Лч = Лч – 1
0 11.011000
0 кінець
11.0110002 (доп) = - 1010002 (пр) = -4010 (-5) x (-8) = (40) Mе = 1.011 - Ме = 0.101 Мк = 1.000 Лч S Мк мол. р. Мк Наступна операція
4 00.000000 1.000 0 S = АЗП(S)
00.000000
Мк = ЛЗП(Мк)
00.000000 0.100
Лч = Лч - 1
3 00.000000
0 S = АЗП(S)
00.000000
Мк = ЛЗП(Мк)
00.000000 0.010
Лч = Лч - 1
2 00.000000
0 S = АЗП(S)
00.000000
Мк = ЛЗП(Мк)
00.000000 0.001
Лч = Лч - 1
1 00.000000
1 S = S + Ме
00.000000 +00.101000 00.101000
Мк=ЛЗП (Мк)
00.101000 0.000
Лч = Лч – 1
0 00.101000
0 кінець
00.1010002 (доп) = +1010002 (пр) = +4010 Синтез на базі повних однорозрядних суматорів і з використанням елементів базиса Буля функціональної схеми матричного помножувача, який виконує операцію множення додатніх чисел 101 х 111
4.6 Виконати операцію множення в доповняльному коді методом Бута двійкових чисел, представлених спочатку в прямому коді: (+2ц1л) х (+2ц8л), (-2ц1л) х (+2ц8л), (+2ц1л) х (-2ц8л), (-2ц1л) х (-2ц8л). Попередньо всі числа перевести в доповняльний код. Навести алгоритм множення й таблицю, яка відображає зміни всіх операндів (множеного, множника, лічильника, проміжної суми, окремих розрядів та ознак), які беруть участь у множенні, після виконання кожного з операторів алгоритму. (2ц1л) = 516 = 01012 (2ц8л) = 716 = 10002 Алгоритм множення:
На алгоритмі множення введені такі позначеня: Лч - лічильник; n - кількість двійковихрозрядів множника без знаку; Мк - множник; Ме -множене; S - суматор, після виконання алгоритму в ньому буде знаходитися результат. Розрядність суматора без врахування знаку дорівнює n+m, де m - кількість розрядів множеного без врахування знаку (у прикладі n=m). 2 мол.р. - два молодших розряди; АЗП - арифметичний зсув праворуч; ЛЗП - логічний зсув праворуч. (+5) x (+8) = (+40) Mе = 0.101 - Mе = 1.011 Мк = 1.000 Лч S Мк мол. р. Мк Наступна операція
4 00.000000 1.000(0) 00 Лч = Лч – 1
00.000000
Мк = ЛЗП(Мк)
00.000000 0.100(0)
Лч = Лч - 1
3 00.000000
00 Мк = ЛЗП(Мк)
00.000000 0.010(0)
Лч = Лч - 1
2 00.000000
00 Мк = ЛЗП(Мк)
00.000000 0.001(0)
Лч = Лч - 1
1 00.000000
10 S = S + Ме
00.000000 +00.101000 00.101000
Мк=ЛЗП (Мк)
00.101000 0.000
Лч = Лч – 1
0 00.101000
0 кінець
00.1010002 (доп) = +1010002 (пр) = +4010 (-5) x (+8) = (-40) Mе = 1.011 - Mе = 0.101 Мк = 1.000 Лч S Мк мол. р. Мк Наступна операція
4 00.000000 1.000(0) 00 Лч = Лч - 1
00.000000
Мк = ЛЗП(Мк)
3 00.000000 0.100(0)
Лч = Лч - 1
00.000000
00 Мк = ЛЗП(Мк)
2 00.000000 0.010(0)
Лч = Лч - 1
00.000000
00 Мк = ЛЗП(Мк)
1 00.000000
Лч = Лч - 1
00.000000 0.001(0) 10 S = S + Ме
00.000000 + 11.011 11.011000
Мк = ЛЗП(Мк)
11.011000
Лч = Лч - 1
0 11.011000
кінець
11.0110002 (доп) = - 1010002 (пр) = -4010 (+5) x (-8) = (-40) Mе = 0.101 - Mе = 1.011 Мк = 1.000 Лч S Мк мол. р. Мк Наступна операція
4 00.000000 1.000(0) 00 Лч = Лч - 1
00.000000
Мк = ЛЗП(Мк)
3 00.000000 0.100(0)
Лч = Лч - 1
00.000000
00 Мк = ЛЗП(Мк)
2 00.000000 0.010(0)
Лч = Лч - 1
00.000000
00 Мк = ЛЗП(Мк)
1 00.000000
Лч = Лч - 1
00.000000 0.001(0) 10 S = S - Ме
00.000000 + 11.011 11.011000
Мк = ЛЗП(Мк)
11.011000
Лч = Лч - 1
0 11.011000
кінець
11.0110002 (доп) = - 1010002 (пр) = -4010 (-5) x (-8) = (40) Mе = 1.011 - Mе = 0.101 Мк = 1.000 Лч S Мк мол. р. Мк Наступна операція
4 00.000000 1.000(0) 00 Лч = Лч – 1
00.000000
Мк = ЛЗП(Мк)
00.000000 0.100(0)
Лч = Лч - 1
3 00.000000
00 Мк = ЛЗП(Мк)
00.000000 0.010(0)
Лч = Лч - 1
2 00.000000
00 Мк = ЛЗП(Мк)
00.000000 0.001(0)
Лч = Лч - 1
1 00.000000
10 S = S - Ме
00.000000 +00.101000 00.101000
Мк=ЛЗП (Мк)
00.101000 0.000
Лч = Лч – 1
0 00.101000
0 кінець
00.1010002 (доп) = +1010002 (пр) = +4010 4.7 Виконати операцію ділення 10-розрядного двійкового коду (10)(1ц2л)(1ц8л) на 5-розрядний двійковий код (1)(1ц1л) методом із відновленням залишків. Навести алгоритм ділення й таблицю, яка відображає зміни всіх операндів (діленого, дільника, лічильника, частки, окремих розрядів та ознак), які беруть участь у множенні, після виконання кожного з операторів алгоритму. (10)(1ц2л)(1ц8л) = 10 0111 0010 (1)(1ц1л) = 1 0011 Алгоритм ділення: В алгоритмі використані такі позначення: Лч - лічильник; Ч - частка; n - кількість двійкових розрядів частки без знаку. Для визначення кількості двійкових розрядів частки при діленні цілого числа на ціле необхідно в прямому двійковому коді написати одне під одним ділене і дільник, вирівнявши їх за одиницею у старшому розряді. Тоді кількість розрядів частки n буде дорівнювати різниці довжин вирівняних дільника і діленого, збільшеній на 1; Дк - дільник; Де - ділене; Зн - знак; # - позначення операції додавання за модулем 2; S - суматор, на початку виконання алгоритму в ньому буде знаходитися ділене; ЛЗЛ(Х),(Y) - логічний зсув ліворуч числа X, на звільнене місце наймолодшого розряду праворуч записується двійковий розряд Y. Де = 0.1001110010 (прямий код, доповняльний код), ЗнДе = 0 (+); Дк = 0.10011 (прямий код, доповняльний код), ЗнДк = 0 (+); -Дк = 1.01101 (доповняльний код). Визначення n: Де = +1001110010, Дк = +10001. Де довше за Дк на 5 бітів, тобто n= 5+1 = 6. Лч S S<0? Q Ч Наступна операція
6 0.1001110010
Q = ЗнДе # ЗнДк
0
Ч = ЛЗЛ(Ч), Q
0 S = S - Дк
0.1001110010 + 1.01101 0.0000010010 S>0
Q = 1
1 0 Ч = ЛЗЛ(Ч), Q
1 01 S = ЛЗЛ(S), 0
0.0000100100
Лч = Лч - 1
5
S = S - Дк
0.0000100100 + 1.01101 1.0110110010 S<0
Q = 0
0 01 Ч = ЛЗЛ(Ч), Q
0 010 S = S + Дк
1.0110110010 + 0.10011 0.0000010010
S = ЛЗЛ(S), 0
0.0000100100
Лч = Лч - 1
4
S = S - Дк
0.0000100100 + 1.01101 1.0111000100 S<0
Q = 0
0 010 Ч = ЛЗЛ(Ч), Q
0 0100 S = S + Дк
1.0111000100 + 0.10011 0.0000100100
S = ЛЗЛ(S), 0
0.0001001000
Лч = Лч - 1
3
S = S - Дк
0.0001001000 + 1.01101 1.0111101000 S<0
Q = 0
0 0100 Ч = ЛЗЛ(Ч), Q
0 01000 S = S + Дк
1.0111101000
S = ЛЗЛ(S), 0
2
S = S - Дк
1.0111101000 + 1.01101 0.0100101000 S>0
Q = 1
0 01000 Ч = ЛЗЛ(Ч), Q
0 010000 S = ЛЗЛ(S), 0
0.1001010000 + 1.01101 1.1111110000
S = ЛЗЛ(S), 0
1.1111100000
Лч = Лч - 1
1
S = S - Дк
1.1111100000 + 1.01101 1.0110000000 S<0
Q = 0
0 010000 Ч = ЛЗЛ(Ч), Q
0 0100000 S = S + Дк
1.0110000000 + 0.10011 0.1111100000
S = ЛЗЛ(S), 0
0.1111100000
Лч = Лч - 1
0
Кінець
Результат Ч = 0100000, перший розряд треба розуміти як знаковий, тобто результат у прямому коді дорівнює 0.100000 (крапка відділяє розряд знаку від вагових розрядів). Результат додатній 0.1001110010 : 0.10011 = 0.100000 4.8 Виконати операцію ділення 10-розрядного двійкового коду (10)(1ц2л)(1ц8л) на 5-розрядний двійковий код (1)(1ц1л) методом без відновлення залишків. Навести алгоритм ділення й таблицю, яка відображає зміни всіх операндів (діленого, дільника, лічильника, частки, окремих розрядів та ознак), які беруть участь у множенні, після виконання кожного з операторів алгоритму. (10)(1ц2л)(1ц8л) = 10 0111 0010 (1)(1ц1л) = 1 0011 Алгоритм ділення: В алгоритмі використанітакі позначення: Лч - лічильник; Ч - частка; n - кількість двійкових розрядів частки без знаку. Для визначення кількості двійкових розрядів частки при діленні цілого числа на ціле необхідно в прямому двійковому коді написати одне під одним ділене і дільник, вирівнявши їх за одиницею в старшому розряді. Тоді кількість розрядів цілої частини частки n буде дорівнювати різниці довжин вирівняних дільника і діленого, збільшеній на 1; Дк - дільник; Де - ділене; Зн - знак; # - позначення операції додавання за модулем 2; S - суматор, на початку виконання алгоритму в ньому буде знаходитися ділене; ЛЗЛ(Х),(Y) - логічний зсув ліворуч числа X, на звільнене місце наймолодшого розряду праворуч записується двійковий розряд Y. Де = 00.1001110010 (доповняльний код); Де = + 1001110010 (прямий код); Дк = 00.10011 (доповняльний код); -Дк = 11.01101 (доповняльний код). Визначення n: Де = +1001110010, Дк = +10011. Де довше за Дк на 5 бітів, тобто n= 5+1 = 6. Лч S Зн S Q Ч Наступна операція
6 00.1001110010 0
Q = ЗнS # ЗнДк
0 0
Ч = ЛЗЛ(Ч), Q
0 S = S - Дк
00.1001110010 + 11.01101 00.0000010010 0
Q = ЗнS # ЗнДк
0 0 0 Ч = ЛЗЛ(Ч), /Q
0 01 S = ЛЗЛ(S), 0
00.0000100100 0
Лч = Лч - 1
5
0
S = S - Дк
00.0000100100 + 11.01101 11.0111000100 1
Q = ЗнS # ЗнДк
1 1 01 Ч = ЛЗЛ(Ч), /Q
1 010 S = ЛЗЛ(S), 0
11.0111000100
Лч = Лч - 1
4
1
S = S + Дк
11.0111000100 + 00.10011 00.0000100100 0
Q = ЗнS # ЗнДк
0 0 010 Ч = ЛЗЛ(Ч), /Q
0 0100 S = ЛЗЛ(S), 0
00.0001001000
Лч = Лч - 1
3
0
S = S + Дк
00.0001001000 + 11.01101 11.0111101000 0
Q = ЗнS # ЗнДк
0 0 0100 Ч = ЛЗЛ(Ч), /Q
0 01000 S = ЛЗЛ(S), 0
11.0111101000
Лч = Лч - 1
2
0
S = S - Дк
11.0111101000 + 00.10011 00.0001001000 0
Q = ЗнS # ЗнДк
0 0 01000 Ч = ЛЗЛ(Ч), /Q
0 010000 S = ЛЗЛ(S), 0
00.00100100000
Лч = Лч - 1
1
0
S = S + Дк
00.00100100000 + 11.10001 11.1010110000 1
Q = ЗнS # ЗнДк
1 1 010000 Ч = ЛЗЛ(Ч), /Q
1 0100000 S = ЛЗЛ(S), 0
11.0101100000
Лч = Лч - 1
0
Кінець
Результат Ч = 0100000, перший розряд треба розуміти як знаковий, тобто результат у доповняльному коді дорівнює 0.100000 (крапка відділяє розряд знаку від вагових розрядів). Результат додатній 0.1001110010 : 0.10011 = 0.100000 4.9 Виконати операції додавання A+B, віднімання A-B, множення AB і ділення A/B над числами, представленими у форматі з рухомою комою. Число A складається з кодів 2ц1л і 2ц8л, число B складається з кодів 2ц2л і 2ц7л. Формат операндів і результатів повинен задовільняти вимогам табл. ТZ5. 2ц1л = 5; 2ц8л = 8; 2ц2л = 8; 2ц7л = 3. A = 5816 = 0 101 10002 B = 8316 = 1 000 00112 Операція додавання А+В Аналіз і підготовка операндів Операнд A Операнд B
Операнди у форматі з рухомою комою (шістнадцятковий код) 58 83
Операнди у форматі з рухомою комою (двійковий код) 01011000 10000011
Розбиті на поля операнди у форматі з рухомою комою 0.101.1000 1.000.0011
Знак + (0) + (0)
Характеристика 5 = 101 6 = 110
Показник порядку 1 = 5 - 4 2 = 6 - 4
Порядок 2 = 21 4 = 22
Мантиса 23/32=0,10111 19/32=0,10011
Величина числа +2*23/32=+23/16 +4*19/32=+19/8
Примітка A=+23/16 B=+19/8
Вирівняний порядок – порядок результату 4 = 22
Мантиса, яка відповідає вирівняному порядку ¼ =0,010000
Визначення результату Результат:
Знак результату + (0)
Мантиса результату визначається додаванням мантис операндів у модифікованому доповняльному коді 00.10011 +00.010111 00.111101
Заокруглення мантиси результату (в дужках – розряди, які відкидаються) 00.11110(1)
Мантиса результату 15/16 = 00.11110
Показник порядку результату 3
Порядок результату 8 = 23
Величина результату 60/16=+8*15/16
Характеристика результату 7=3+4=111
Розбитий на поля результат у форматі з рухомою комою 0.111.1110
Результату у форматі з рухомою комою (двійковий код) 01111110
Результату у форматі з рухомою комою (шістнадцятковий код) 7Е
Примітка A+B=23/16+19/8=61/16 ? 60/16
Операція додавання А-В Аналіз і підготовка операндів Операнд A Операнд B
Операнди у форматі з рухомою комою (шістнадцятковий код) 57 63
Операнди у форматі з рухомою комою (двійковий код) 01010111 01100011
Розбиті на поля операнди у форматі з рухомою комою 0.101.0111 0.110.0011
Знак + (0) + (0)
Характеристика 5 = 101 6 = 110
Показник порядку 1 = 5 - 4 2 = 6 - 4
Порядок 2 = 21 4 = 22
Мантиса 23/32=0,10111 19/32=0,10011
Величина числа +2*23/32=+23/16 +4*19/32=+19/8
Примітка A=+23/16 B=+19/8
Визначення результату Результат:
Знак результату - (1)
Мантиса результату визначається відніманням мантис операндів, результат ненормалізований 00.10011 +11.01001 11.11100 = 1.00100