Beta kód je jednoduchý algoritmus pro kódování přirozených čísel. Zobrazí každé přirozené číslo N jako jeho zápis v binární číselné soustavě.

ČísloKód
11
210
311
4100
5101
101010
1001100100

Příklad

Kódování čísla 75

Binární zápis čísla je možné vytvořit několika způsoby. Jedním z nich je i rozklad čísla na součet mocnin dvojky. Číslo 75 rozložíme jako součet 64 (2 na 6) a 11. Číslo 11 rozložíme jako součet 8 (2 na 3) a 3. Číslo 3 rozložíme jako součet 2 (2 na 1) a 1 (2 na 0). Nyní si nalezené mocniny zapíšeme do tabulky.

PoziceMocninaBit
6641
5320
4160
381
240
121
011

Beta kód je shodný s binárním zápisem čísla 75, výsledek je tedy 1001011.

Dekódování čísla 10010110

Převod binárního čísla do dekadické soustavy lze také provést různými způsoby, zvolme například tento:

BitPoziceMocnina
17128
0664
0532
1416
038
124
112
001

Výsledné číslo je součet takových mocnin dvojky, u kterých je v binárním zápisu na odpovídající pozici jednička:

Součet = 128 + 32 + 8 + 4 = 172

Beta kód s čárkou

Beta kód (binární zápis) každého přirozeného čísla začíná číslicí jedna. Beta kód s čárkou tuto jedničku vynechává a ušetří tak jeden bit.

ČísloBeta kódBeta kód s čárkou
11prázdný řetězec
2100
3111
410000
510101
101010010
1001100100100100

Příklad

Kódování čísla 75

Binární zápis čísla 75 je 1001011 (viz beta kód). Beta kód s čárkou pouze odebere z binárního zápisu první jedničku. Výsledek je tedy 001011.

Dekódování čísla 0010110

Ke vstupnímu řetězci přidáme na začátek jedničku a výsledný řetězec 10010110 převedeme jako obyčejné binární číslo do dekadické soustavy (viz beta kód). Výsledek je tedy 172.

Reference

  • předmět X36KOD na ČVUT