- •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.9. Переведення чисел з десяткової системи числення в сзк з використанням властивостей залишків
Переведення чисел з позиційної системи в СЗК у найпростішому випадку виконують шляхом ділення числа Х на модулі . Найменші додатні залишки від такого ділення й утворять представлення числа Х в СЗК. Однак на практиці такий алгоритм переведення часто виявляється малоефективним через велике число операцій ділення.
Інші алгоритми переведення чисел з позиційних систем у СЗК базуються на використанні наступних властивостей чисел, представлених залишками (далі означає ).
.
У справедливості цих властивостей легко переконатися безпосередньою перевіркою.
Нехай для заданого набору модулів і позиційної десяткової системи числення відомі представлення в залишках будь-якого степеня основи 10 (тобто, будь-якої ваги в позиційній системі)
а також кожної десяткової цифри
.
Тоді компоненти числа Х в СЗК можна представити у вигляді
.
Таким чином, для знаходження залишку числа за модулем необхідно скласти попарні добутки залишків цифр і ваг . При цьому всі додавання і множення виконуються за модулем .
Розглянутий алгоритм переведення знаходить застосування і в іншому варіанті, що використовує не тільки вищенаведені властивості залишків, але і наступну властивість
.
У цьому випадку для обчислення досить мати представлення в залишках або тільки степенях основи або тільки цифр тобто
.
Приклад 2.27. Перевести десяткове число Х=839 у СЗК з модулями .
Для степенів основи і заданих цифр позиційної десяткової системи маємо
Далі знаходимо залишки :
.
Таким чином, .
Рекомендується виконати домашнє завдання 13 і 14.
На лістингу 16 наведено Mathcad-програму, яка реалізовує розглянутий метод.
2.10. Метод ортогональних базисів переведення чисел з сзк
в десяткову систему числення
Для переведення чисел із СЗК у позиційну десяткову систему використовують алгоритми, що забезпечують однозначність переведення.
Зокрема, до таких методів відноситься метод ортогональних базисів, який базується на використанні констант , які називаються ортогональними базисами, представлення яких у СЗК при заданому наборі модулів має вид .
Перехід від числа Х, заданого СЗК, до десяткового числа Z у цьому випадку може бути за формулою
,
де – цифри числа Х, .
Для фіксованого набору модулів відповідні представлення констант можуть бути обчислені заздалегідь за формулою
.
Тут – так звана вага ортогонального базису, яка знаходиться з умови
.
Для подальшого використання цю умову зручно записати у вигляді
.
Приклад 2.28. Переведемо в десяткову систему число Х=(2,3,4,5), представлене в СЗК за модулями .
Розв’язання. У цьому випадку . Знайдемо далі ваги ортогональних базисів. Для модуля маємо
.
Аналогічно для модулів одержимо:
.
.
.
Таким чином:
Отже, .