
- •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. Завдання для самостійної роботи
- •Додатки
Переведення чисел із однієї системи числення в іншу
Тема: ПЕРЕВЕДЕННЯ ЧИСЕЛ ІЗ ОДНІЄЇ СИСТЕМИ
ЧИСЛЕННЯ В ІНШУ
Мета заняття: Вивчити основні алгоритми переведення чисел з однієї системи числення в іншу та набути відповідні практичні навички.
1. Переведення чисел із однієї позиційної системи числення в іншу
Необхідність в переведенні чисел із однієї системи числення в іншу виникає зажди, коли в цифровій обчислювальній машині (комп’ютері) використовується система числення, відмінна від тієї, в якій задані вихідні дані або в якій системі числення потрібно одержати результат. Слід відмітити, що алгоритм переведення чисел із однієї системи числення в іншу істотно залежить від самих систем числення. Тому, з метою конкретності, спочатку розглянемо випадок, коли задане число А представляється в позиційній однорідній системі числення вигляду
, (2.1)
а його кількісний еквівалент обчислюється за формулою
, (2.2)
Переведення
заданого числа здійснюється в позиційну
однорідну систему числення з основою
.
Розглянемо основні типи методів переведення чисел із однієї позиційної системи числення в іншу.
1.1. Алгоритм безпосередньої заміни
Один з найбільш загальних алгоритмів переведення чисел визначається правою частиною виразу, що задає правило обчислення кількісного еквівалента числа, записаного у формі (2.2).
Для
переведення числа А,
заданого в системі числення з основою
р,
в систему з основою q,
необхідно записати А
в
формі для обчислення кількісного
еквівалента (2.2), далі замінити цифри
і основу р
їхніми еквівалентами в системі з основою
q,
a потім обчислити отримане зображення
за правилами арифметики в системі з
основою q.
Приклад 2.1. Перевести двійкове число А2=1101,0101 в десяткову систему числення.
Розв’язання. Використавши формулу (2,2), одержимо
.
Викладений
алгоритм переведення чисел з однієї
системи числення в іншу одержав назву
алгоритму
безпосередньої заміни.
Цей
алгоритм зручно використовувати у
випадку, коли
,
причому q
відповідає
системі числення, де просто і "звично"
виконуються операції додавання і
множення (наприклад, у десятковій
системі). Для спрощення обчислень при
цьому можна побудувати алгоритм обчислень
за так званою схемою
Горнера,
якій у даному випадку відповідає вираз,
який легко одержується з формули для
кількісного еквівалента числа шляхом
багаторазового винесення за дужки:
.
Звідси видно, що алгоритм безпосередньої заміни, власне кажучи, складається з двох алгоритмів, а саме: переведення цілого числа, виконуваного відповідно до рекурентної формули:
де
-
ціла частина вихідного числа в системі
числення з основою q;
і переведення дробів за рекурентною
формулою
де
-
дробова частина вихідного числа в
системі з основою q.
З наведених рекурентних формул випливає,
що для одержання
необхідно
виконати n+1
кроків обчислень, а для одержання
-
кроків.
На
лістингу 1 наведено програму MBZ_c_p_10_Ch(X,
p),
реалізовану з використанням засобів
пакету Mathcad,
яка реалізовує
алгоритм
безпосередньої заміни з використанням
схеми
Горнера для переведення цілих чисел з
системи числення p
в десяткову систему. Тут
X
задане
ціле число,
а p
– основа числення, в яку потрібно
перевести задане число Х,
На цьому ж лістингу наведено приклади
переведення при різних значеннях p.
При цьому результати виводяться як у
звичайному вигляді (число А),
так і вигляді вектора (вектор Av),
компонентами якого є цифри вихідного
числа X.
На лістингу 2 наведено програму MBZ_d_p_10_Ch(X,p,m), яка реалізовує схему Горнера для переведення дробових чисел методом безпосередньої заміни з системи числення p в десяткову систему точно або з одержанням m розрядів дробової частини. Робота програми ілюструється прикладами. Результати виводяться як у звичайному вигляді (число В), так і вигляді вектора (вектор Вv), компонентами якого є цифри вихідного числа X.
На лістингу 3 наведено програму MBZ_ p_10(X,p,m), яка реалізовує алгоритм для переведення змішаних чисел з використанням схеми Горнера з системи числення p в десяткову систему з одержанням m розрядів дробової частини. У цьому випадку спочатку виділяється ціла і дробова частини заданого числа, потім здійснюється переведення цілої і дробової частин і виведення цілої, дробової частин і одержаного числа. Робота програми ілюструється прикладами.
На лістингу 4 наведено програми переведення цілих і дробових десяткових чисел з десяткової системи числення в систему числення з основою р із виведенням результатів у векторній формі. Це дає можливість переводити десяткові числа і в 16-ву систему числення із одним недоліком, що шістнадцяткові числа виводяться в десятковій системі числення. Зауважимо, що при виведенні результатів дробових чисел розряди з нулями в кінці числа не виводяться.