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

2.9. Переведення чисел з десяткової системи числення в сзк з використанням властивостей залишків

Переведення чисел з позиційної системи в СЗК у найпростішому випадку виконують шляхом ділення числа Х на модулі . Найменші додатні залишки від такого ділення й утворять представлення числа Х в СЗК. Однак на практиці такий алгоритм переведення часто виявляється малоефективним через велике число операцій ділення.

Інші алгоритми переведення чисел з позиційних систем у СЗК базуються на використанні наступних властивостей чисел, представлених залишками (далі означає ).

.

У справедливості цих властивостей легко переконатися безпосередньою перевіркою.

Нехай для заданого набору модулів і позиційної десяткової системи числення відомі представлення в залишках будь-якого степеня основи 10 (тобто, будь-якої ваги в позиційній системі)

а також кожної десяткової цифри

.

Тоді компоненти числа Х в СЗК можна представити у вигляді

.

Таким чином, для знаходження залишку числа за модулем необхідно скласти попарні добутки залишків цифр і ваг . При цьому всі додавання і множення виконуються за модулем .

Розглянутий алгоритм переведення знаходить застосування і в іншому варіанті, що використовує не тільки вищенаведені властивості залишків, але і наступну властивість

.

У цьому випадку для обчислення досить мати представлення в залишках або тільки степенях основи або тільки цифр тобто

.

Приклад 2.27. Перевести десяткове число Х=839 у СЗК з модулями .

Для степенів основи і заданих цифр позиційної десяткової системи маємо

Далі знаходимо залишки :

.

Таким чином, .

Рекомендується виконати домашнє завдання 13 і 14.

На лістингу 16 наведено Mathcad-програму, яка реалізовує розглянутий метод.

2.10. Метод ортогональних базисів переведення чисел з сзк

в десяткову систему числення

Для переведення чисел із СЗК у позиційну десяткову систему використовують алгоритми, що забезпечують однозначність переведення.

Зокрема, до таких методів відноситься метод ортогональних базисів, який базується на використанні констант , які називаються ортогональними базисами, представлення яких у СЗК при заданому наборі модулів має вид .

Перехід від числа Х, заданого СЗК, до десяткового числа Z у цьому випадку може бути за формулою

,

де – цифри числа Х, .

Для фіксованого набору модулів відповідні представлення констант можуть бути обчислені заздалегідь за формулою

.

Тут – так звана вага ортогонального базису, яка знаходиться з умови

.

Для подальшого використання цю умову зручно записати у вигляді

.

Приклад 2.28. Переведемо в десяткову систему число Х=(2,3,4,5), представлене в СЗК за модулями .

Розв’язання. У цьому випадку . Знайдемо далі ваги ортогональних базисів. Для модуля маємо

.

Аналогічно для модулів одержимо:

.

.

.

Таким чином:

Отже, .