
borisenko_o_a_diskretna_matematika
.pdfДискретна математика
2. Переведення чисел у систему числення з кратною основою
Цей метод ефективний, якщо основи систем числення, які підлягають перетворенню, кратні між собою. Наприклад, якщо необхідно перевести десяткове число в п'ятеричну систему числення чи навпаки. У цьому випадку основа 10 десяткової системи числення націло ділиться на основу 5 п'ятеричної системи числення.
Наприклад, число 17 з десяткової системи числення у п'ятеричну можна перевести таким чином:
17(!0) =1-10' +7-10° =2-5' +1-5і + 2-5° =3-5' +2-5° = 32(5).
3. Переведення чисел шляхом підбору степенів
Суть цього методу полягає в тому, що число, яке переводять, подається як сума добутків різних степенів нової основи на можливі цифри числа, яке отримують. Вони обираються таким чином, щоб ця сума була якомога ближчою до числа, що переводиться, але не більшою за нього. При цьому степені нового числа можна обрати з відповідної таблиці. Коли сума добутків дорівнюватиме вихідному числу, то новий запис числа буде отриманий.
Наприклад, необхідно перевести десяткове число 123^ у двійкове. Найбільшим степенем числа 2, який не більший ніж число 123, буде число 2б = 64 < 123, оскільки степінь 27 = 128 > 123. Наступним степенем у сумі з попереднім, який не більший ніж число 123, буде 25 = 32 (32 + 64 = 98 < 123), потім степінь 24 = 16 (16 + 32 + + 64= 112 < 123) і 23 =8 (8 + 16+ 32 + 64 =120 < 123). Степінь 22 =4 необхідно проминути, тому що 4 + 8 + 16 + 32 + 64 = 124 > 123. Проте, залишається степінь 2і = 2, оскільки 2 + 8 + 16 + 32 + 64 = 122 <123. У кінці додамо 2° = 1 і отримаємо, що 1 + 2 + 8 +16 + 32 + 64 = 123.
Отже, двійковим числом, яке дорівнює кількісному еквіваленту числа 123(, , буде число
1111011{2) =1-26 + 1-25 +1-24 + 1-23 +0-22 + 1-21 + 1-2°=123(ш).
Аналогічно можна виконати переведення десяткового числа в шістнадцятеричну систему числення, наприклад, число 3 7 7 ^ :
213
Борисенко О.А.
377(10) =1-162 +7-161 +9-16° = 256 + 112 + 9 = 179(|6).
Відмінність переведення в шістнадцятеричну систему числення від переведення у двійкову, розглянутого вище, полягає в тому, що при переведенні у двійкову систему числення в процесі отримання суми степенів числа 2 їх множення відбувалося на 1 чи 0 (у випадку множення на 0 степінь виключався із суми степенів нового числа). У даному ж випадку кожний новий степінь числа 16 треба послідовно множити на числа 0, 1, ..., 15 до того моменту, поки серед отримуваних добутків не виявиться той найбільший, за якого сума здобутих раніше добутків з даним ще не перевищує початкового числа, що переводять.
4.Переведення чисел з основою, одна з яких с степенем іншої
Увипадку, переведення чисел Із системи числення з основою д, що є степенем основи р системи числення, в яку відбувається
переведення, тобто д - р " ' , кожна цифра числа, що переводять, може бути подана т цифрами в системі числення з основою р, і в результаті буде отримане необхідне число.
Приклад 1. Дано восьмеричне число 12156^ з д = 8. Потрібно перевести його у двійкову систему числення, тобто з р = 2.
Розв'язання. Очевидно, що 8 = 23. Тому 12156(8) =010001101110ф.
Уразі зворотного переведення із системи числення з основою
ру систему числення з основою д, р< д, цифри числа, яке переводять, починаючи з молодших розрядів, об'єднують за т розрядами й далі записують з допомогою однієї цифри в д-ричній системі числення.
Приклад 2. Дано двійкове число 111001111111^. |
Потрібно |
||
перетворити його в шістнадцятеричне. |
|
|
|
Розв'язання. Якщо |
виходити |
зі співвідношення |
2 4 =16, |
отримаємо: |
|
=Е7Р„Л. |
|
1110 |
0111 1111,,. |
|
214
Дискретна математика
5. Переведення чисел у систему числення на базі проміжного перетворення цифр
Основою даного методу переведення є числова функція для позиційних чисел. Відповідно до цієї функції кожна цифра початкового числа й основа д переводиться в систему числення з основою р, а потім виконуються всі арифметичні операції, які передбачені цією функцією.
Приклад 3. Перевести десяткове число 121^ з основою <7 = 10
у двійкове з р = 2.
Розв'язання.
1.Переведемо всі цифри числа й основу <7 = 10 у двійкову систему числення
1(ш>=0001(2), 2(1о)=0010(2), Ю<10> =1010{2>.
2.Обчислимо
(1010)2 =1010x1010 = 1100100 и 2x10 = 0010x1010 = 10100.
3. Підставимо отримані значення в числову функцію для числа 121^ і отримаємо вираз:
121(|0) = М 0 2 + 2-101 +]-10° =0001x1100100 + 0010x1010 + 0001x0001 =
= 1100100 +10100 + 0001 = 1111001(2).
Приклад 4. Перевести двійкове число 1001110^ у десяткове.
Розв'язання. Після запису числової перетворюється у двійкову форму, і після десятковому вигляді всі зазначені в ній отримаємо десяткове число, яке шукали:
функції числа, що того, як виконали в арифметичні операції,
1001110{2) = 1 • 26 + 0 • 25 + 0 • 24 +1 • 23 + 1 • 22 +1 • 2і + 0 • 2° = = 64 + 8 + 4 + 2 = 7 8 ^ .
215
Борисенко О.А.
6. Переведення чисел за допомогою використання проміжної системи числення
Суть цієї дії полягає в тому, щоб з метою спрощення чи прискорення переведення застосовувати проміжну систему числення.
Приклад 5. Перевести десяткове число 121(ю) у двійкову систему числення з використанням як проміжної вісімкової системи числення.
Розв'язання. Перетворимо з допомогою одного з відомих методів десяткове число 121^ у вісімкову систему числення
121{10) =171(8)- Потім з вісімкової системи числення перейдемо до двійкової
171(8>=1111001(2).
7. Переведення чисел у систему числення шляхом ділення на її основу
Алгоритм переведення чисел' із системи числення З ОСНОВОЮ (] у систему числення з основою р є універсальним і найбільш широко використовується на практиці.
Він містить такі кроки:
1. Розділити число, яке переводять, у системі числення з основою <7 на основу р за правилом системи числення з основою д.
2.Перевірити, чи не дорівнює частка нулю. Якщо не дорівнює, то прийняти її за нове число й повернутися до пункту 1.
3.Якщо частка дорівнює нулю, то виписати всі отримані залишки від ділення в порядку, зворотному їх отриманню.
4.Отриманий запис є записом числа в системі числення з основою р.
Приклад 6. Перевести число 3 8 ^ у п'ятеричну систему
числення
Розв 'язання.
_38 [ 5 35
З
Відповідь. 38^ =123^.
216
Дискретна математика
Приклад 7. Перевести число 1 у двійкову систему числення.
Розв'язання
|_2
10
2
Т[2_
0 0
Відповідь. 11(10) 1011<2)•
Приклад 8. Перевести число 1101110^ у десяткову систему числення шляхом ділення на основу 10.
Розв'язання. |
Попередньо переведемо число 10 у двійкову |
систему числення |
1 0 ^ = 1 0 1 0 ^ . |
Потім, якщо використовувати алгоритм перетворення, треба виконати згідно з ним ділення за правилами двійкової системи числення:
1101110 |
1010 |
|
|
1010 |
1011 |
1010 |
|
0111 |
1010 |
0001 |
1010 |
0000 |
0001 |
0000 |
0000 |
1111 |
|
0001 |
|
1010 |
|
|
|
_1010 |
|
|
|
1010 |
|
|
|
0000 |
|
|
|
Залишки, які отримано у двійковій системі числення, виписують послідовно один за одним у порядку, зворотному до порядку їх отримання, і потім переводять у десяткові цифри:
0000{2) =0(10>, 0001(2) =1(|0), 0 0 0 1 и =1,0000{2) =о{10).
Послідовність цих цифр утворює десяткове число, яке шукали: ОНО(10) =110Ш0( 2) .
217
Борисенко О.А.
Приклад 9. Перевести вісімкове число 521/^ у десяткову
систему числення.
Розв'язання. Оскільки 1 0 ^ = 1 , то, якщо виконувати ділення
десяткового числа 521 за правилами вісімкової системи числення, отримаємо
521 |
12 |
|
|
50 |
_41 |
12 |
|
21 |
36 |
3 |
12 |
12 |
3 |
0 |
0 |
7 |
|
3 |
|
Відповідь. |
|
521^=337^. |
Приклад 10. Перевести шістнадцятеричне число 9ВЕ5^ у
десяткову систему числення й виконати перевірку розв'язка. Розв'язання. Якщо врахувати, що в шістнадцятеричній системі
числення 1 = А , то ділимо число 9ВЕ5^щ на А за правилами
шістнадцятсричної системи числення, користуючись при цьому відповідними таблицями множення й віднімання.
9ВЕ5 |
А |
|
|
|
96 |
Р96 |
4 |
|
|
5А |
А |
|
А |
|
_59 |
Ж. |
27 |
4 |
|
_45 |
50 |
_4Р |
3 |
|
3 С |
96 |
46 |
9 |
0 |
9 |
96 |
9 |
|
3 |
|
0 |
|
|
|
Відповідь. 9ВЕ5,,Л |
= 39909, |
|
218
|
|
|
|
Дискретна математика |
||
Перевірка |
16 |
|
|
|
|
|
39909 |
|
|
|
|
|
|
32 |
_2494 |
16 |
|
|
|
|
79 |
\6_ |
155 |
16 |
|
|
|
64 |
89 |
144 |
9 |
16 |
|
|
150 |
80 |
11 |
0 |
0 |
|
|
144 |
94 |
|
9 |
|
|
|
69 |
80 |
|
|
|
|
|
64 |
14 |
|
|
|
|
|
5 |
|
|
|
|
|
|
Відповідь. |
39909(ІО> = 9ЯЕ5<16). |
|
|
|
||
Необхідність |
введення |
додаткових |
символів |
у |
шістнадцятеричній системі числення може спричинити при переведенні деякі труднощі, оскільки необхідно весь час звертатись до таблиць віднімання й множення в цій системі.
Ці труднощі можна зменшити, якщо замість символів А, В, С, О, Е, Р у шістнадцятеричній системі числення скористатися десятковими цифрами 10, 11, 12, 13, 14, 15 відповідно. При цьому треба виокремити їх з обох боків у числах крапками. Тоді шістнадцятеричне число 9 В Е 5 ^ =9.11.14.5^, а переведення його до десяткової
системи числення буде маги такий вигляд:
9.11.14.510
9.6 |
15.9.6 |
10 |
10 |
|
|
5.14 |
10 |
1.8.15 |
|
|
|
5.10 |
5.9 |
1.4 |
2.7 |
10 |
|
4.5 |
5.0 |
4.15 |
1.14 |
3 |
10 |
3.12 |
9.6 |
4.6 |
9 |
0 |
0 |
9 |
9£ |
9 |
|
3 |
|
|
0 |
|
|
|
|
Звертання до таблиць множення й віднімання в цьому випадку можна уникнути, якщо виконувати безпосереднє переведення із шістнадцятеричної системи числення у десяткову систему під час кожної операції множення й віднімання, що може виявитись простішою задачею, ніж пошуки відповідей у таблицях.
219
Борисенко О.А.
Наприклад, при знаходженні частки від ділення 9.11 на 10 слід перевести 9.11 із шістнадцятеричної системи числення в десяткову 9-16' +11-16° =155(І0).
Тоді ділення 155 на 10 дасть ціле значення 15, яке й ставимо як першу цифру частки. Потім після множення 15 на 10 відбувається переведення числа 1 у шістнадцятеричну систему числення
( 1 5 0 ^ = 9 . 6 ^ ) , і тепер уже це число 9 . 6 ^ віднімається від того, що ділили. Аналогічно можна отримати й цифри інших часток.
Приклад 11. Перевести шістнадцятеричне число |
7 В |
у |
|
десяткову систему числення. |
|
|
|
Розв'язання. |
Подамо число 7 6 4 ^ у вигляді числа |
7.11.4 |
і |
розділимо його на |
А - 10: |
|
|
_7.11.4 7.8 _3.4 3.2
2
Відповідь. 754,,^ =1972,
Перевірка. |
|
|
_1972 |
16 |
|
16 |
123 |
16 |
_37 |
112 |
7 |
32 |
11 |
|
_52 |
|
|
48 |
|
|
4 |
|
|
7.11.4{16) = 7І?4(]6>.
220
Дискретна математика
РОЗДІЛ 3. НЕОДНОРОДНІ СИСТЕМИ ЧИСЛЕННЯ
Лекція 39 ФАКТОРІАЛЬНІ СИСТЕМИ ЧИСЛЕННЯ
1. Загальні положення
Факторіальні системи числення належать до систем зі змішаною основою.
Зазвичай під факторіальною системою числення розуміють вираз, який має вигляд:
Р<ф>= Хп-п\+ |
Хп^-(п-\)\+... |
+ ХгІ\+... |
+ Хг\\+ Хо-0\, |
де |
/=0,1, ... ,я; |
0 <Х,<1. |
|
Він має назву нумераційної, або числової, функції. Максимальне число у факторіальній системі має вигляд:
Це випливає з нижченаведених перетворень числової функції, коли X, =1. У цьому разі
Р = Рітх=(п + 1~\)-п) + ((п-1) + 1-\)-(п-\)\ + ...
... + (/ + 1-1)./! + ...+ (1 + 1-1)-1! + (0 + 1-1)-0! =
=(и + 1)!~л! + и! - (л - 1)! + ... + (/ + 1)!-/! + ... + 2!-1! + 1-1! =
=(и + 1)!-1.
Мінімальне число 00...0...0 у факторіальній системі числення Дійсно, якщо всі розряди X, = 0, то
Р = = 0-л!+0 (я-1)!+... + 0-/!+... + 0-1!+0-0! = 0. Діапазон факторіальних чисел
221
Борисенко О.А.
При його знаходженні враховується, крім максимального числа, ще й нуль.
2. Арифметичні операції
При виконанні арифметичних операцій додавання й віднімання у факторіальній системі числення в нульовому розряді використовують правила унітарної (одиничної) системи числення, у першому - двійкової, у другому - трійкової й т.д. Операції множення й ділення виконуються з допомогою операцій додавання й віднімання за загальними правилами для однорідних систем числення.
Приклад 1. Виконати операції додавання й віднімання факторіальних чисел А<ф> = 23110 і В<ф> =12200.
Розв'язання. Застосовуючи вираз для числової факторіальної Функції, отримаємо максимальне число:
р т п =4 - 4!+3 - 3!+ 2 • 2!+1 • 1.4-0-0! = 119.
Додавання й віднімання чисел виконується таким чином:
23110 |
_ 23110 |
12200 |
12200 |
42010 |
10210 |
Перевірка.
23110<#> = 2-4!+3-3!+1-2!+1-1!+0-0! = 69<10з>; 12200^ = 1 • 4!+ 2• 3!+ 2 • 2!+ 0-1!+ 0• 0! = 40<10> ;
4 2 0 1 0 ^ = 4 • 4!+ 2 • 3!+ 0 • 2 !+1 • 1!+ 0 • 0! = 69<І0> + 40<ІО> = 109<ІО>; 10210^ = 1 • 4!+ 0• 3!+ 2• 2!+1 • 1!+ 0• 0! = 69<І0> -40<10> = 29<ш> .
3. Перетворення факторіальних чисел в однорідні числа
Перетворення факторіального числа в однорідне виконується шляхом підстановки факторіального числа в числову (нумераційну) функцію для факторіальних систем числення. При цьому виконуються всі вказані в цій функції операції множення і додавання.
222