- •1. Переведення чисел із однієї позиційної системи числення в іншу
- •1.1. Алгоритм безпосередньої заміни
- •2.2. Переведення цілих чисел з системи числення з основою q в систему числення p
- •2.3. Переведення дробових чисел
- •2.4. Точність переведення дробових чисел з системи числення з основою q в систему числення p
- •2.5. Переведення чисел із однієї системи числення в іншу у випадку
- •2.6.1. Переведення чисел у симетричні і кососиметричні системи
- •2.6.2. Переведення чисел із симетричних і кососиметричних
- •2.6.3. Переведення чисел у неканонічну двійкову систему
- •2.6.4. Переведення з неканонічної двійкової системи у канонічну
- •Рекомендується виконати домашнє завдання 10.
- •2.7. Системи числення з від’ємними основами
- •2.7.1. Переведення цілих десяткових чисел у мінус-двійкову
- •2.7.2. Переведення дробових десяткових чисел у мінус-двійкову
- •2.7.3. Переведення змішаних дробових десяткових чисел у
- •2.8. Переведення двійкових чисел у мінус-двійкову систему
- •2.8.1. Переведення додатних двійкових чисел у мінус-двійкову
- •2.8.2. Переведення від’ємних двійкових чисел у мінус-двійкову
- •2.8.3. Перехід від додатного числа, заданого в мінус-двійковій системі числення до від’ємного і навпаки
- •2.8.4. Переведення чисел з мінус-двійкової системи числення
- •2.9. Переведення чисел з десяткової системи числення в сзк з використанням властивостей залишків
- •2.10. Метод ортогональних базисів переведення чисел з сзк
- •Рекомендується виконати домашнє завдання 15.
- •2.11. Переведення чисел з сзк в десяткову систему числення
- •2.12. Питання для самоконтролю
- •2.13. Завдання для практичної роботи
- •2.14. Завдання для самостійної роботи
- •Додатки
2.4. Точність переведення дробових чисел з системи числення з основою q в систему числення p
Нехай правильне дробове число , задане в системі числення з основою q, потрібно перевести в число з основою числення р. Поступаючи як і раніше спробуємо знайти точне зображення заданого дробу у вигляді многочлена з від’ємними степеням основи р з скінченою кількістю членів. Це можна зробити, якщо дріб може бути точно представлений у вигляді скінченого р-ічного дробу. В протилежному випадку точний перевод неможливий і виникає питання про допустиму точність переводу, а отже, про необхідну кількість розрядів в р-ічній системі числення.
Визначити необхідну розрядність можна виходячи з вимоги рівноточності заданого дробу в обох системах числення. Виходячи з того, що абсолютна похибка дробового числа не перевищує величини ( – номер останнього розряду числа ), природно вимагати, щоб абсолютна похибка дробового числа не перевищувала величини ( – номер останнього розряду ) і була близькою до . З цього випливає, що , звідки
. (2.6)
Приклад 2.6. Задане десяткове число перевести в вісімкову, трійкову та двійкову системи числення із збереженням точності переводу.
Розв’язання. Результати переведення виконані за допомогою програми Perevod_d_10_p(Xq,p,m), наведено на лістингу 12, де результати переведення виводяться як у вигляді числа, так і у вигляді вектора. Якщо число представлене у векторній формі, то місце десяткової коми (крапки) знаходиться після першого нуля зліва.
2.5. Переведення чисел із однієї системи числення в іншу у випадку
кратних основ
Нехай основи числення зв’язані співвідношенням ( – ціле додатне число) і обидві системи мають симетричні, або невід’ємні бази. У цьому випадку кожна цифра q-ічної системи числення може бути точно виражена через k розрядів p-ічної системи за формулою . Якщо , то число різних значень, які може приймати сума в правій частині, дорівнює . Це означає, що кожна цифра q-ічної системи числення може бути виражена групою із розрядів p-ічної системи числення і тоді можна записати:
(2.7)
З (2.7) випливає, що переведення здійснюється простою заміною цифр q-ічної системи числення їх p-ічним зображенням. Особливо простими є алгоритми переведення чисел із систем з основою в двійкову систему й алгоритми зворотного переведення. Цим в значній мірі і пояснюється широке застосування систем з такою основою для введення і виведення інформації в ККС.
Таким чином, для переведення числа із системи з основою в двійкову систему, необхідно замінити кожну цифру вихідного числа її представленням за допомогою двійкових розрядів. Зокрема, у випадку переведення числа з шістнадцяткової системи числення ( ) у двійкову, потрібно кожну шістнадцяткову цифру замінити відповідною двійковою тетрадою.
Для переведення двійкового числа в систему з основою необхідно, рухаючись вліво і вправо від коми, розділити вихідне число на групи по розрядів, доповнюючи, при необхідності, нулями крайні ліву і праву групи. Після цього кожну таку групу необхідно замінити цифрою з системи числення з основою .
Приклад 2.7. Перевести вісімкове і шістнадцяткове числа Х8=5427,3016 і Y16=51F9,8В3С в двійкову систему числення.
Розв’язання. Очевидно, що для першого числа , а для другого числа . Тоді, виконавши зазначену вище заміну, одержимо:
101 100 010 111, 011 000 001 110; 0101 0001 1111 1001, 1000 1011 0011 1100
Таким чином, у двійковій системі задані числа будуть мати вигляд:
Х2=101100010111,01100000111, Y2=101000111111001,10001011001111.
Приклад 2.8. Перевести число Х2= 10111011111,10101011 із двійкової системи у вісімкову і шістнадцяткову системи числення.
Розв’язання. Подамо задане число у вигляді:
Х2= 010 111 011 111,101 010 110, Х2= 0101 1101 1111,1010 1011.
Тоді Х8= 2737,526, Х16= 5DF,AB.
Тут виділеним курсивом набрані нулі, якими доповнюються до розрядів крайні групи.
Рекомендується виконати домашні завдання 9.
Приклад 2.9. В дев’ятковій системі числення з симетричною базою, додатні цифри якої зображаються арабськими цифрами, від’ємні арабськими цифрами рискою над ними, задано число . Потрібно його перевести в трійкову систему з симетричною базою .
Розв’язання. Оскільки , то , звідси .
Приклад 2.10. Число , задане в трійковій системі числення з симетричною базою, перевести в дев’яткову систему числення також з симетричною базою.
Розв’язання. Оскільки , то , звідки .
2.6. Переведення чисел у системи числення, які використовуються
в спеціалізованих ККС