Змішані системи числення - студопедія
У ряді випадків числа, задані в системі числення з основою Р, доводиться зображати за допомогою "цифр іншої системи числення з основою Q, де Q
Домовимося зображати приналежність числа до (Q - / *) - ічной системі числення за допомогою нижнього індексу (Q - Р) при даному числі, наприклад: 925ю = 100i001001012 _m.
Аналогічно розглянутим вище двійковій-десяткового системі можна використовувати і інші змішані системи при різних значеннях Р і Q. На особливу увагу заслуговує випадок, коли Р = Q ', де / - ціле позитивне число. У цьому випадку запис будь-якого числа в змішаній системі тотожно збігається із зображенням цього числа в системі числення з основою Q (що не має місця в двійковій-десяткового системі в загальному випадку).
Доведемо це твердження. Розглянемо довільне ціле число N. У Р-ічной системі числення це число буде записано у вигляді

Як видно, цей запис тотожно збігається з наведеною вище записом числа N в змішаній системі числення, де кожна чергова група з / цифр є просто зображенням відповідного коефіцієнта pf в системі числення з осно ванием Q.
Все сказане вище щодо цілих чисел автоматично переноситься і на випадок довільних чисел. Таким чином, зображення числа х в Р-ічной системі числення в разі Р - Q є просто скороченою записом зображення цього ж числа х
в g-ічной системі.
Розглянуте вище властивість деяких змішаних систем широко використовується на практиці для скороченого запису чисел, заданих в системі числення з невеликим підставою. Для цього у вихідній записи числа розряди об'єднуються вправо і вліво від точки в групи деякої довжини (додаючи в разі потреби лівіше старшої або правіше молодшої значущих цифр відповідну кількість нулів), і кожна така група записується однією циф рою іншої системи, основу якої дорівнює відповідній мірі вихідного підстави. Наприклад, двійкове зображення
101110.1 числа 46.5 можна записати коротше з використанням цифр інших систем, причому ця скорочений запис одночасно є і зображенням даного числа у відповідній системі числення:
3.3,5. ПЕРЕКЛАД ЧИСЕЛ З ОДНІЄЇ СИСТЕМИ числення В ІНШУ
При вирішенні завдань за допомогою ЕОМ вихідні дані зазвичай задаються в десятковій системі числення; в цій же системі, як правило, потрібно отримати і остаточні результати. Так як в сучасних ЕОМ дані кодуються в основному в довічних кодах, то, зокрема, виникає необхідність перекладу чисел з десяткової в двійкову систему числення і навпаки.
При розгляді правил перекладу чисел з однієї системи числення в іншу обмежимося тільки такими системами счіс лення, у яких базисними числами є послідовні цілі числа від 0 до Р
\ Включно, де Р - основа системи числення.
Завдання перекладу полягає в наступному. Нехай відома запис числа х в системі числення з будь-яким підставою Р:
де pi - цифри r-ічной системи (0 \). Потрібно знайти запис цього ж числа х в системі числення з іншою підставою Q: де qt -іскомие цифри 0-ічно системи (0 При розгляді правил перекладу потрібно враховувати, засобами якої арифметики повинен бути здійснений переклад, тобто в якій системі числення повинні бути виконані всі необхідні для перекладу дії. Домовимося вважати, що переклад повинен здійснюватись вляться засобами .Р-ічной арифметики. Переклад Q-> P. Завдання перекладу довільного числа х, заданий ного в системі числення з основою Q, в систему числення з основою Р зводиться до обчислення полінома виду Для отримання Р-ічного зображення вираження (3.11) не обхідно все цифри qt і число Q замінити Р-ічнимі зображеннями і виконати арифметичні операції в Р-ічной системі числення. Приклад 1. Перевести число х 371В в десяткову систему числення, користуючись правилами десяткової арифметики. Для перекладу запишемо число х у вигляді х = 3 * 8 2 н-7 * 8 '+ 1 і виконаємо всі необхідні дії в десятковій системі: х = 3x64 + 7x8 + 1 = 192 + 56 + 1 = 249. Приклад 2. Перевести число * = af4! 6 в десяткову систему числення, користуючись правилами десяткової арифметики. Для перекладу запишемо число х в бачив = 10х1б '+ 15x16 ° + 4 х. б "1 і виконаємо всі необхідні дії в десятковій системі: х = 10x16 + 15 + 4/16 = 160 + 15 + 0.25 = 175.25. Зауважимо, що при перекладі слід дотримуватися правила збереження точності зображення числа в різних системах, причому під точністю розуміється значення одиниці наймолодшого (правого) розряду, що використовується в запису числа в тій чи іншій системі числення. Переклад Р -> Q. Так як для перекладу будь-якого числа достатньо вміти переводити його цілу і дробову частини, розглянемо окремо ці два випадки. 1. Переклад цілих чисел. Нехай відома запис цілого числа ./V в системі числення з основою Р і потрібно перевести це число в систему числення з основою Q. Так як N- ціле, то його запис в (9-ічной системі числення має вигляд де q, - шукані цифри £? -ічной системи (0 <#, ^ £? - 1). Для опреде ления #о разделим обе части равенства: на число Q, причому в лівій частині зробимо поділ, користуючись правилами Р-ічной арифметики (так як запис числа ./V в Р-ічной системі числення відома), а праву частину перепишемо у вигляді Прирівнюючи між собою отримані цілі і дробові частини (враховуючи, що q, Таким чином, молодший коефіцієнт qQ в розкладанні (3.12) визначається співвідношенням причому зазначені тут дії насправді не виконуються, так як qQ є просто залишком від ділення N на Q. Покладемо Тоді N \ буде цілим числом і до нього можна застосувати ту ж саму процедуру для визначення наступного коефіцієнта q \ і т! Д. Таким чином, за умови що N0 = N, переклад чисел з викорис танням .Р-ічной арифметики здійснюється за наступними рекур рентних формулами: Nm = [Ni / Q \ (/ = 0,1,2.) -Цей процес триває до тих пір, поки не буде отримано Зауважимо, що оскільки всі операції виконуються в системі числення з основою Р, то в цій же системі будуть отримані шукані коефіцієнти <. поэтому их необходимо записать одной Q- Приклад 3. Перевести число Л '= 47 в двійкову систему з використанням деся тичний арифметики. Застосовуючи формули (3.13) при Q = 2, маємо: 47: 2 = 23 (1); 23: 2 = 11 (1); 11: 2 = 5 (1); 5: 2 = 2 (1); 2: 2 = 1 (0); 1: 2 = 0 (1). Оскільки числа нуль і одиниця в обох системах числення позначаються однаковими цифрами 0 і 1, то в процесі ділення відразу отримаємо виконавчі зображення шуканих чисел: Приклад 4. Перевести число N = 3060 в шістнадцяткову систему з викорис танням десяткової арифметики. Застосовуючи формули (3.10) при Q - 16, отримаємо 3060: 16 = 191 (4); 191: 16 = 11 (15); 11:16 = 0 (11). 66 2. Переклад дробових чисел. Нехай необхідно перевести в Q- ічную систему числення правильну дріб х (0 <х <1), заданную в Р-ичной системе счисления. Так як х <1, то число х в £>-ічной системі числення можна представити у вигляді полінома q-l ff l + q-2ff 2 +. + Q * ff m +. де q.i (i = 1, 2.) - шукані коефіцієнти £ -ічного розкладання числа х. Для визначення q. \ Помножимо обидві частини рівності (3.14) на число Q, причому в лівій частині зробимо множення, користуючись правилами Р-ічной арифметики (так як запис числа JE в Р-ічной системі числення відома), а праву частину перепишемо у вигляді Прирівняємо між собою отримані в правій частині цього виразу цілі і дробові частини (враховуючи, що 0 Таким чином, молодший коефіцієнт q. в розкладанні (3.14) визначається співвідношенням Тоді х \ буде правильним дробом і до цього числа можна застосувати ту ж саму процедуру для визначення наступного коефіцієнта q.i і т.д. Таким чином, за умови, що х0 = х, переклад дроби з викорис танням Р-ічной арифметики здійснюється за наступними рекур рентних формулами: Цей процес триває до тих пір, поки не буде отримано xi + i = 0 або не буде досягнута необхідна точність зображення числа. Зауваження. При перекладі наближених дробів з однієї системи числення в іншу необхідно 'дотримуватися дотримуюся ного правила. Якщо одиниця молодшого розряду числа л ;, заданого в Р-ічной системі числення, є Р . то в його g-ічной записи слід зберегти / розрядів після коми, де / задовольняє умові gi> p- k! 2> Q- (l + l \ округляючи останню що залишається цифру звичайним способом. Приклад 5. Перевести число х = 0.2 в двійкову систему числення з використанням засобів десяткової арифметики. Застосування формул (3.15) при водить до такої послідовності дій: 0.2x2 = 0.4 = 0 + 0.4 =>? _, = 0 0.6x2 = 1.2 = 1 +0.2 => 9-<=1 ит.д. Якщо десяткову дріб х = 0.2 вважати точним числом, то в результаті перекладу в двійкову систему числення отримаємо періодичну дріб х = О. (ООП) (в дужках зазначено період дробу).
'.