
- •2.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.3. Переведення дробових чисел
2.3.1. Переведення з системи числення q=10 в систему p<q
Теоретичною
основою даного методу є представлення
відомого дробового числа
,
заданого у системі числення q,
у
вигляді
. (2.4)
Записавши цей вираз за схемою Горнера, одержимо
. (2.5)
Якщо
праву частину (2.5) помножити на основу
р,
то отримаємо неправильний дріб, в цілій
частині якого буде цифра
.
Нова дробова частина набуде вигляду
.
Помноживши одержану дробову частину
на р,
знайдемо другу цифру
.
Повторивши процес множення
раз, одержимо останню цифру шуканого
число
.
Операція множення виконується в системі
числення з основою q,
в якій представлене вихідне число.
Приклад 2.4. Перевести десятковий дріб Bd=0.671875 в двійкову систему числення.
Розв’язання. У даному випадку q=10, p=2. На лістингу 8 наведено покрокову роботу алгоритму множення, реалізовану засобами пакету Mathcad. Робота даного алгоритму починається із задання числа Bd, початкового значення лічильника і=0 та початкового значення шуканого числа Bр=0. Далі m+1 раз виконується послідовність операцій:
,
,
,
,
за допомогою якої виділяється ціла частина числа, змінюється значення лічильника, формується черговий розряд числа та обчислюється дробова частина нового числа.
Це ж саме завдання можна виконати програмними засобами пакету Mathcad. Програму реалізації даного алгоритму наведено на лістингу 9. За допомогою програми Per_Mno_d_10_p(B,p,m) здійснюється перетворення числа у вектор, після чого формується шукане число.
2.3.2. Переведення з системи числення p в систему q=10 (р<q)
У
даному випадку переведення правильних
дробів з m
цифрами
після коми здійснюється шляхом ділення
цифри молодшого розряду на основу p,
після чого додається цифра наступного
розряду заданого числа
і
одержана сума ділиться на основу p.
Таку операцію потрібно повторити ще
раз,
використовуючи, як ділене на кожному
кроці суму, одержану на попередньому
кроці. Обчислення при цьому виконуються
в системі числення з основою q.
Приклад 2.5. Перевести двійкове число В2=0,10011 в десяткову систему за допомогою вищеописаного алгоритму.
Розв’язання.
У даному випадку q=2,
p=10.
На лістингу 10
наведена покрокова реалізація роботи
алгоритму, виконана засобами пакету
Mathcad.
Виконання даного алгоритму починається
із задання числа B2
у вигляді вектора Bv,
початкової суми S=0
та обчислення кількості компонент
вектора m:=last(Bv).
Далі m-1
раз виконується послідовність операцій
,
передбачених вищеописаним алгоритмом.
Це ж саме завдання можна виконати програмними засобами пакету Mathcad. Програми реалізації даного алгоритму наведено на лістингу 10. За допомогою програми Dch_vec(B,m) здійснюється перетворення дробового числа у вектор, а за допомогою програми PerD_mno(v) здійснюється реалізація алгоритму множення. На цьому ж лістингу проілюстровано переведення дробових чисел В2=0.101011 і В8=0.53, заданих, відповідно, у двійковій і вісімковій системах числення, в десяткову систему.
Рекомендується виконати домашні завдання 1, 2, 3, 4, 5, 6, 7, 8.