Числова́ систе́ма зали́шків (ЧСЗ, англ. Residue number system) — непозиційна система числення. Представлення числа в системі засноване на китайській теоремі про залишки, а операції з числами виконуються за правилами модульної арифметики. Використовується для представлення великих цілих чисел у вигляді набору невеликих цілих чисел, що дозволяє оптимізувати операції з великими цілими числами.
Визначення
ЧСЗ визначається набором взаємно простих чисел , які називаються базисом. Позначимо добуток базиса через . Тоді кожному цілому числу з відрізка ставиться у відповідність набір залишків , де
Зауважимо, що китайська теорема про залишки гарантує однозначність представлення для чисел з відрізка .
Не простий базис
Якщо базис складається не з взаємно простих чисел, то його можна використовувати для представлення чисел з відрізка , де . НСК — це найменше спільне кратне.
Наприклад, в базисі числа 3 і 7 однаково записуються:
Однакове представлення виникло тому, що найбільше число, яке може бути записане в цьому базисі, це найменше спільне кратне чисел (2, 4). НСК (2, 4)=4. Відповідно .
Арифметичні операції
У ЧСЗ арифметичні операції (додавання, віднімання, множення, ділення) виконуються поелементно, якщо про результат відомо, що він є цілочисловим і також лежить в .
Додавання, віднімання та множення
Нехай задані числа та , компоненти яких записуються як . Тоді
обчислюється як
- .
Аналогічно виконується множення.
Ділення
Можливе не для всіх чисел. По-перше, повинно бути цілим числом. По-друге, поелементне ділення можна виконати лише за умови, що запис числа не містить компонент рівних нулю . Тоді компоненти числа
обчислюються як
де — обернене за модулем число до , тобто
Алгоритм ділення у випадку коли дільник містить нульові елементи, можна знайти у статті .
Недоліки числової системи залишків
- Обмеження на величину чисел.
- Відсутність ефективних алгоритмів для порівняння чисел, представлених у ЧСЗ. Порівняння зазвичай здійснюється через переклад аргументів з ЧСЗ у змішану систему числення з основами .
- Повільні алгоритми перекладу з позиційної системи числення в ЧСЗ і назад.
- Складні алгоритми ділення.
- Труднощі у виявленні переповнення.
Застосування числової системи залишків
ЧСЗ широко використовується в мікроелектроніці в спеціалізованих пристроях — ALU, ЦОС, де потребується:
- Контроль за помилками, за рахунок введення додаткових надлишкових модулів.
- Висока швидкість роботи, яку забезпечує паралельна реалізація базових арифметичних операцій.
Спеціальні системи модулів
У модулярної арифметиці існують спеціальні набори модулів, які дозволяють частково нівелювати недоліки ЧСЗ і для яких існують ефективні алгоритми порівняння чисел та зворотного перекладу чисел в позиційну систему числення. Однією з найпопулярніших систем модулів є набір з трьох взаємно простих чисел вигляду {2n−1, 2n, 2n+1}
Приклади
Розглянемо ЧСЗ з базисом . У цьому базисі можна однозначно представити числа з проміжку від до , так як . Таблиця відповідності чисел з позиційної системи числення та системи залишкових класів:
Приклад додавання
Складемо два числа 12 і 7 у базисі . Їх представлення в заданому базисі i (див. таблицю вище). Скористаємося формулою для складання:
— за таблицею переконуємося, що результат дорівнює 19.
Приклад множення
Помножимо два числа 3 і 7 в базисі . Їх представлення в заданому базисі та (див. таблицю вище). Скористаємось формулою для множення:
— за таблицею переконуємося, що результат дорівнює 21.
Зауваження: якби множити або складати числа, які дають в результаті число більше або рівне , то отриманий результат збігатиметься по модулю числа з результатом операції в позиційній системі числення. При відніманні це правильно, коли отримуємо від'ємне число.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Chislova siste ma zali shkiv ChSZ angl Residue number system nepozicijna sistema chislennya Predstavlennya chisla v sistemi zasnovane na kitajskij teoremi pro zalishki a operaciyi z chislami vikonuyutsya za pravilami modulnoyi arifmetiki Vikoristovuyetsya dlya predstavlennya velikih cilih chisel u viglyadi naboru nevelikih cilih chisel sho dozvolyaye optimizuvati operaciyi z velikimi cilimi chislami ViznachennyaChSZ viznachayetsya naborom vzayemno prostih chisel m 1 m 2 m n displaystyle m 1 m 2 dots m n yaki nazivayutsya bazisom Poznachimo dobutok bazisa cherez M m 1 m 2 m n displaystyle M m 1 cdot m 2 cdot ldots cdot m n Todi kozhnomu cilomu chislu x displaystyle x z vidrizka 0 M 1 displaystyle 0 M 1 stavitsya u vidpovidnist nabir zalishkiv x 1 x 2 x n displaystyle x 1 x 2 dots x n de x i x mod m i i 1 n displaystyle x i equiv x pmod m i i 1 dots n Zauvazhimo sho kitajska teorema pro zalishki garantuye odnoznachnist predstavlennya dlya chisel z vidrizka 0 M 1 displaystyle 0 M 1 Ne prostij bazis Yaksho bazis skladayetsya ne z vzayemno prostih chisel to jogo mozhna vikoristovuvati dlya predstavlennya chisel z vidrizka 0 M 1 displaystyle 0 M 1 de M H C K m 1 m 2 m n displaystyle M HCK m 1 m 2 ldots m n NSK ce najmenshe spilne kratne Napriklad v bazisi m 1 2 m 2 4 displaystyle m 1 2 m 2 4 chisla 3 i 7 odnakovo zapisuyutsya 3 10 x 1 1 x 2 3 1 3 displaystyle 3 10 x 1 1 x 2 3 1 3 7 10 x 1 1 x 2 3 1 3 displaystyle 7 10 x 1 1 x 2 3 1 3 Odnakove predstavlennya viniklo tomu sho najbilshe chislo yake mozhe buti zapisane v comu bazisi ce najmenshe spilne kratne chisel 2 4 NSK 2 4 4 Vidpovidno 3 7 mod 4 displaystyle 3 equiv 7 pmod 4 Arifmetichni operaciyiU ChSZ arifmetichni operaciyi dodavannya vidnimannya mnozhennya dilennya vikonuyutsya poelementno yaksho pro rezultat vidomo sho vin ye cilochislovim i takozh lezhit v 0 M 1 displaystyle 0 M 1 Dodavannya vidnimannya ta mnozhennya Nehaj zadani chisla X displaystyle X ta Y displaystyle Y komponenti yakih zapisuyutsya yak x 1 x 2 x n displaystyle x 1 x 2 dots x n y 1 y 2 y n displaystyle y 1 y 2 dots y n Todi Z X Y displaystyle Z X pm Y obchislyuyetsya yak z i x i y i mod m i displaystyle z i equiv x i pm y i pmod m i Analogichno vikonuyetsya mnozhennya Dilennya Mozhlive ne dlya vsih chisel Po pershe X Y displaystyle X Y povinno buti cilim chislom Po druge poelementne dilennya mozhna vikonati lishe za umovi sho zapis chisla Y displaystyle Y ne mistit komponent rivnih nulyu y i 0 displaystyle y i not 0 Todi komponenti chisla Z X Y displaystyle Z X Y obchislyuyutsya yak z i x i y i 1 mod m i displaystyle z i equiv x i cdot y i 1 pmod m i de y i 1 displaystyle y i 1 obernene za modulem chislo do y i displaystyle y i tobto y i y i 1 1 mod m i displaystyle y i cdot y i 1 equiv 1 pmod m i Algoritm dilennya u vipadku koli dilnik mistit nulovi elementi mozhna znajti u statti Nedoliki chislovoyi sistemi zalishkivObmezhennya na velichinu chisel Vidsutnist efektivnih algoritmiv dlya porivnyannya chisel predstavlenih u ChSZ Porivnyannya zazvichaj zdijsnyuyetsya cherez pereklad argumentiv z ChSZ u zmishanu sistemu chislennya z osnovami m 1 m 1 m 2 m 1 m 2 m n 1 displaystyle m 1 m 1 cdot m 2 dots m 1 cdot m 2 cdot dots cdot m n 1 Povilni algoritmi perekladu z pozicijnoyi sistemi chislennya v ChSZ i nazad Skladni algoritmi dilennya Trudnoshi u viyavlenni perepovnennya Zastosuvannya chislovoyi sistemi zalishkivChSZ shiroko vikoristovuyetsya v mikroelektronici v specializovanih pristroyah ALU COS de potrebuyetsya Kontrol za pomilkami za rahunok vvedennya dodatkovih nadlishkovih moduliv Visoka shvidkist roboti yaku zabezpechuye paralelna realizaciya bazovih arifmetichnih operacij Specialni sistemi modulivU modulyarnoyi arifmetici isnuyut specialni nabori moduliv yaki dozvolyayut chastkovo nivelyuvati nedoliki ChSZ i dlya yakih isnuyut efektivni algoritmi porivnyannya chisel ta zvorotnogo perekladu chisel v pozicijnu sistemu chislennya Odniyeyu z najpopulyarnishih sistem moduliv ye nabir z troh vzayemno prostih chisel viglyadu 2n 1 2n 2n 1 PrikladiRozglyanemo ChSZ z bazisom 2 3 5 displaystyle 2 3 5 U comu bazisi mozhna odnoznachno predstaviti chisla z promizhku vid 0 displaystyle 0 do 29 displaystyle 29 tak yak M 2 3 5 30 displaystyle M 2 times 3 times 5 30 Tablicya vidpovidnosti chisel z pozicijnoyi sistemi chislennya ta sistemi zalishkovih klasiv 0 0 0 0 displaystyle 0 0 0 0 1 1 1 1 displaystyle 1 1 1 1 2 0 2 2 displaystyle 2 0 2 2 3 1 0 3 displaystyle 3 1 0 3 4 0 1 4 displaystyle 4 0 1 4 5 1 2 0 displaystyle 5 1 2 0 6 0 0 1 displaystyle 6 0 0 1 7 1 1 2 displaystyle 7 1 1 2 8 0 2 3 displaystyle 8 0 2 3 9 1 0 4 displaystyle 9 1 0 4 10 0 1 0 displaystyle 10 0 1 0 11 1 2 1 displaystyle 11 1 2 1 12 0 0 2 displaystyle 12 0 0 2 13 1 1 3 displaystyle 13 1 1 3 14 0 2 4 displaystyle 14 0 2 4 15 1 0 0 displaystyle 15 1 0 0 16 0 1 1 displaystyle 16 0 1 1 17 1 2 2 displaystyle 17 1 2 2 18 0 0 3 displaystyle 18 0 0 3 19 1 1 4 displaystyle 19 1 1 4 20 0 2 0 displaystyle 20 0 2 0 21 1 0 1 displaystyle 21 1 0 1 22 0 1 2 displaystyle 22 0 1 2 23 1 2 3 displaystyle 23 1 2 3 24 0 0 4 displaystyle 24 0 0 4 25 1 1 0 displaystyle 25 1 1 0 26 0 2 1 displaystyle 26 0 2 1 27 1 0 2 displaystyle 27 1 0 2 28 0 1 3 displaystyle 28 0 1 3 29 1 2 4 displaystyle 29 1 2 4 Priklad dodavannya Sklademo dva chisla 12 i 7 u bazisi 2 3 5 displaystyle 2 3 5 Yih predstavlennya v zadanomu bazisi 12 0 0 2 displaystyle 12 0 0 2 i 7 1 1 2 displaystyle 7 1 1 2 div tablicyu vishe Skoristayemosya formuloyu dlya skladannya z 1 z 2 z 3 0 0 2 1 1 2 displaystyle z 1 z 2 z 3 0 0 2 1 1 2 z 1 x 1 y 1 mod m 1 0 1 mod 2 1 displaystyle z 1 equiv x 1 y 1 pmod m 1 equiv 0 1 pmod 2 1 z 2 x 2 y 2 mod m 2 0 1 mod 3 1 displaystyle z 2 equiv x 2 y 2 pmod m 2 equiv 0 1 pmod 3 1 z 3 x 3 y 3 mod m 3 2 2 mod 5 4 displaystyle z 3 equiv x 3 y 3 pmod m 3 equiv 2 2 pmod 5 4 z 1 z 2 z 3 1 1 4 displaystyle z 1 z 2 z 3 1 1 4 za tabliceyu perekonuyemosya sho rezultat dorivnyuye 19 Priklad mnozhennya Pomnozhimo dva chisla 3 i 7 v bazisi 2 3 5 displaystyle 2 3 5 Yih predstavlennya v zadanomu bazisi 3 1 0 3 displaystyle 3 1 0 3 ta 7 1 1 2 displaystyle 7 1 1 2 div tablicyu vishe Skoristayemos formuloyu dlya mnozhennya z 1 x 1 y 1 mod m 1 1 1 mod 2 1 displaystyle z 1 equiv x 1 y 1 pmod m 1 equiv 1 1 pmod 2 1 z 2 x 2 y 2 mod m 2 0 1 mod 3 0 displaystyle z 2 equiv x 2 y 2 pmod m 2 equiv 0 1 pmod 3 0 z 3 x 3 y 3 mod m 3 3 2 mod 5 1 displaystyle z 3 equiv x 3 y 3 pmod m 3 equiv 3 2 pmod 5 1 z 1 z 2 z 3 1 0 1 displaystyle z 1 z 2 z 3 1 0 1 za tabliceyu perekonuyemosya sho rezultat dorivnyuye 21 Zauvazhennya yakbi mnozhiti abo skladati chisla yaki dayut v rezultati chislo bilshe abo rivne M 30 displaystyle M 30 to otrimanij rezultat zbigatimetsya po modulyu chisla M displaystyle M z rezultatom operaciyi v pozicijnij sistemi chislennya Pri vidnimanni ce pravilno koli otrimuyemo vid yemne chislo