Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛЕКЦ_ 2 Переведення чисел.doc
Скачиваний:
6
Добавлен:
15.11.2019
Размер:
2.77 Mб
Скачать

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, 7, 6, 7, 8.