せっかく調べたので覚えてるうちに。
要するに、最適な b を総当りで探した上で、
データ n を、n = a * b + c に分解して、
係数 a と 剰余 c を保存していくということで。
ならば、
mask = ( 1 << k ) - 1; a = n >> k; c = n & mask;
と演算でき、
n = ( a << k ) | c;
で元に戻せます。これがライス符号なんだとか。
tex 構文使ってみた。tex って使い方わかんない…
ちょっと色々勉強してみるか…
C++ のコードがそのまま書けるのは楽だなぁー。
全行頭に引用符とか入れなきゃいけないかと思えば囲むだけとは。。。