Как говорится в статье в Википедии, многомерная проверка четности измерений d исправляет d / 2 ошибок.Таким образом, трехмерная проверка на четность не имеет явного преимущества перед двумерной проверкой на четность.(В статье неясно, что делать с нечетными измерениями, поэтому возможно, что есть какое-то преимущество, но единственная статья, которую я нашел, находится за платой, и у меня нет времени, чтобы получить ее самостоятельно.)
В любом случае, вот графический пример четырехмерной проверки на четность для тривиального случая массива 1 × 1 × 1 × 1, за которым следуют более интересные случаи массивов размером 2 × 2 × 2 × 2, 3× 3 × 3 × 3 и 4 × 4 × 4 × 4.Я заполнил каждый из массивов последовательными десятичными цифрами и соответствующими значениями четности.
1×1×1×1 (5/1 original size; 5× expansion)
1 1 1
1
1
Буквы с «a» по «h» после этого примера являются сносками, которые объясняют, как вычисляется каждый из кодов четности..
2×2×2×2 (24/16 original size; 1.5× expansion)
1 2 3 4 2a 6e
5 6 7 8 4b<br>
9 0 1 2 0f
3 4 5 6<br>
4c 2d<br>
0g 6h
Примечания для массива 2 × 2 × 2 × 2:
a.Сумма 1, 2, 3, 4, 9, 0, 1, 2 (по модулю 10) - горизонтальное измерение.
б.Сумма 5, 6, 7, 8, 3, 4, 5, 6 (по модулю 10).
с.Сумма 1, 5, 9, 3, 3, 7, 1, 5 (по модулю 10) - вертикальное измерение.
д.Сумма 2, 6, 0, 4, 4, 8, 2, 6 (по модулю 10).
е.Сумма 1, 2, 3, 4, 5, 6, 7, 8 (по модулю 10) - размер, который не помещается на двухмерном экране;верхние два блока 2 × 2.
е.Сумма 9, 0, 1, 2, 3, 4, 5, 6 (по модулю 10);нижние два блока 2 × 2.
г.Сумма 1, 5, 9, 3, 2, 6, 0, 4 (по модулю 10) - еще одно измерение, которое не помещается на двухмерный экран;осталось два блока 2 × 2.
ч.Сумма 3, 7, 1, 5, 4, 8, 2, 6 (по модулю 10);справа два блока 2 × 2.
3×3×3×3 (93/81 original size; 1.148× expansion)
1 2 3 4 5 6 7 8 9 4 8
0 1 2 3 4 5 6 7 8 7
9 0 1 2 3 4 5 6 7 0<br>
8 9 0 1 2 3 4 5 6 7
7 8 9 0 1 2 3 4 5
6 7 8 9 0 1 2 3 4<br>
5 6 7 8 9 0 1 2 3 6
4 5 6 7 8 9 0 1 2
3 4 5 6 7 8 9 0 1<br>
0 7 4<br>
6 7 8
4×4×4×4 (272/256 original size; 1.0625× expansion)
1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 8 0
7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 2
3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 6
9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 0<br>
5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 6
1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6
7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2
3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8<br>
9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 2
5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0
1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6
7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2<br>
3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 8
9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4
5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0
1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6<br>
8 2 6 0<br>
0 6 2 8
Поскольку массив 4 × 4 × 4 × 4 - это расширение только на 6,25%, я не вижу большого смысла идти дальше, но шаблон должен быть очевиден, если вы хотите это сделать.
(Я знаю, что опаздываю на вечеринку. Но я надеюсь, что это полезно, если кто-то другой задаст тот же вопрос.)