Система из 4 модулей (2^n-1, 2^n+1, 2^(n+1)-1, 2^(n+1)+1)
Материал из Модулярная арифметики
(Различия между версиями)
Turbo (обсуждение | вклад) |
Turbo (обсуждение | вклад) |
||
Строка 15: | Строка 15: | ||
<math>M = ((2^{2n} - 1)*(2^{2n+2} - 1))/3</math> | <math>M = ((2^{2n} - 1)*(2^{2n+2} - 1))/3</math> | ||
− | == | + | == Таблица покрытия == |
+ | <table> | ||
+ | <tr> | ||
+ | <td style="text-align: center; border: 1px solid black; padding: 2px 5px;"> | ||
+ | n | ||
+ | </td> | ||
+ | <td style="text-align: center; border: 1px solid black; padding: 2px 5px;"> | ||
+ | Базис | ||
+ | </td> | ||
+ | <td style="text-align: center; border: 1px solid black; padding: 2px 5px;"> | ||
+ | Покрываемый интервал [0;M) | ||
+ | </td> | ||
+ | <td style="text-align: center; border: 1px solid black; padding: 2px 5px;"> | ||
+ | Бинарная битность | ||
+ | </td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="text-align: center; border: 1px solid black;"> | ||
+ | 2 | ||
+ | </td> | ||
+ | <td style="text-align: center; border: 1px solid black;"> | ||
+ | 3, 5, 7, 9 | ||
+ | </td> | ||
+ | <td style="text-align: center; border: 1px solid black;"> | ||
+ | [0; 315) | ||
+ | </td> | ||
+ | <td style="text-align: center; border: 1px solid black;"> | ||
+ | 8 | ||
+ | </td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="text-align: center; border: 1px solid black;"> | ||
+ | 3 | ||
+ | </td> | ||
+ | <td style="text-align: center; border: 1px solid black;"> | ||
+ | 7, 9, 15, 17 | ||
+ | </td> | ||
+ | <td style="text-align: center; border: 1px solid black;"> | ||
+ | [0; 5355) | ||
+ | </td> | ||
+ | <td style="text-align: center; border: 1px solid black;"> | ||
+ | 12 | ||
+ | </td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="text-align: center; border: 1px solid black;"> | ||
+ | 4 | ||
+ | </td> | ||
+ | <td style="text-align: center; border: 1px solid black;"> | ||
+ | 15, 17, 31, 33 | ||
+ | </td> | ||
+ | <td style="text-align: center; border: 1px solid black;"> | ||
+ | [0; 86955) | ||
+ | </td> | ||
+ | <td style="text-align: center; border: 1px solid black;"> | ||
+ | 16 | ||
+ | </td> | ||
+ | </tr> | ||
− | == | + | <tr> |
+ | <td style="text-align: center; border: 1px solid black;"> | ||
+ | 8 | ||
+ | </td> | ||
+ | <td style="text-align: center; border: 1px solid black;"> | ||
+ | 255, 257, 511, 513 | ||
+ | </td> | ||
+ | <td style="text-align: center; border: 1px solid black;"> | ||
+ | [0; 5726513835) | ||
+ | </td> | ||
+ | <td style="text-align: center; border: 1px solid black;"> | ||
+ | 32 | ||
+ | </td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="text-align: center; border: 1px solid black;"> | ||
+ | 16 | ||
+ | </td> | ||
+ | <td style="text-align: center; border: 1px solid black;"> | ||
+ | 65535, 65537, 131071, 131073 | ||
+ | </td> | ||
+ | <td style="text-align: center; border: 1px solid black;"> | ||
+ | [0; 24595658757787789995) | ||
+ | </td> | ||
+ | <td style="text-align: center; border: 1px solid black;"> | ||
+ | 64 | ||
+ | </td> | ||
+ | </tr> | ||
+ | </table> | ||
+ | |||
+ | |||
+ | == Прямое преобразование == | ||
== Обратное преобразование == | == Обратное преобразование == |
Версия 11:59, 20 мая 2013
Система модулей {2n-1, 2n+1, 2n+1-1, 2n+1+1} - не является попарно взаимно простой, что несколько сокращает её динамический диапазон, но как будет показано не существенно.
Содержание |
Динамический диапазон
где - наименьшее общее кратное.
Что бы найти , требуется определить наибольший общий делитель() для всех четырех модулей. Так как и , а также и взаимнопросты, то необходимо найти наибольший общий делитель их попарного произведения.
Отсюда по формуле для вычисления :
Таблица покрытия
n |
Базис |
Покрываемый интервал [0;M) |
Бинарная битность |
2 |
3, 5, 7, 9 |
[0; 315) |
8 |
3 |
7, 9, 15, 17 |
[0; 5355) |
12 |
4 |
15, 17, 31, 33 |
[0; 86955) |
16 |
8 |
255, 257, 511, 513 |
[0; 5726513835) |
32 |
16 |
65535, 65537, 131071, 131073 |
[0; 24595658757787789995) |
64 |