2. Kody numeryczne i arytmetyka cyfrowa

2.14. Kody m z n

Kody m z n są kodami numerycznymi binarnymi o stałej długości n charakteryzujące się stałą liczbą m jedynek na n pozycjach w słowie kodowym. Przy ustalonym m i n liczba takich słów kodowych jest równa \(\left(\! \begin{array}{c} n \\ m \end{array} \!\right) = \frac{n!}{m!(n-m)!}\). Zaletą takich kodów jest stosunkowo łatwa kontrola poprawności słowa kodowego.

Do najprostszych kodów m z n należy kod 1 z n. W rozdziale poświęconym kodom BCD poznaliśmy również kod 2 z 5 oraz kod 1 z 10.

Kod 1 z n. Zbiór obiektów kodowanych to V1 = {0,1,...,<em>n</em>−1}. Alfabet kodu V2 = {0,1}. Kod 1 z n to odwzorowanie różnowartościowe V1Vn2  zadane wzorem:

\(V_1 \ni m \to \underset{n}{ \underbrace { 00...0 \underset{m+1}{\underbrace{ 1 } } 0...00} } \in \text{{0,1}}^n \)

Czyli m kodujemy za pomocą pojedynczej jedynki umieszczonej na pozycji m + 1 licząc od lewej strony.

Kod 1 z 8 . Dla takiego kodu mamy V1 = {0,1,2,...,7}

0 → 100000000
1 → 01000000
2 → 00100000
3 → 00010000
4 → 00001000
5 → 00000100
6 → 00000010
7 → 00000001

Zasada tworzenia kolejnych słów kodowych to przesuwająca się jedynka od lewej strony do prawej.

Kod 1 z n bywa definiowany bez 0 w zbiorze V1, tzn. zbiór obiektów kodowanych ma postać V= {1,2,...,<em>n</em>}
Kod 1 z n jest kodem numerycznym, redundancyjnym o stałej długości słowa równej n choć może być traktowany jako kod alfanumeryczny jeśli traktujemy elementy zbioru V1 jako cyfry.