忍者ブログ
整数を自然数に・・・
α符号やKZ符号等は可変長であるが・・・
自然数しか表現できない・・・^^;

そこで整数は自然数に変換しなければならない
固定長であれば負の数は2の補数で表現され・・・
最上位ビットが1である・・・

可変長の場合は・・・???

絶対値を2倍し(左シフト)・・・
自然数以外なら1を加算する・・・
つまり最下位ビットを1にする

整数:自然数
-3:7
-2:5
-1:3
 0:1
 1:2
 2:4
 3:6

逆変換は最下位ビットが1であれば・・・
2分の1(右シフト)して(-1)倍・・・
最下位ビットが0であれば右シフトのみで良い^^

これで整数を自然数に変換できた^^
PR
【2007年02月07日22:19 】 | 圧縮 | コメント(0) | トラックバック()
Set の toArray・・・
Set の toArray には

Object[] toArray() と
T[] toArray(T[] a) がある

Set set = map.keySet();
String[] str = set.toArray();

とすると型の互換性が・・・^^;

String[] str = (String[])set.toArray();

とキャストすると・・・
コンパイルできるものの動かない・・・TT

static でもないし引数はなんだ~~~

Javaのサイトに行くと・・・
Java SE 6 ドキュメント (英語版)・・・って
日本語のページに行ったのに・・・;;

あっ 例が載ってた・・・えいごで・・・^^;

String[] str = set.toArray(new String[0]);

って書けばいいんだ^^
【2007年02月06日07:22 】 | Java | コメント(0) | トラックバック()
LZSS符号・・・
LZSS符号はLZ77符号を改良したものである。
1982年にStorerとSzymanskiによって考案された。

符号化は・・・
辞書に登録されている場合は1を出力し
続いて開始位置と一致長を出力する。
辞書の最後に一致した文字列を追加する。

辞書に登録されていない場合は0を出力し
続いて文字を出力する。
辞書の最後に出力した文字を追加する。

復号化は・・・
最初に1ビット読み込み
0だった場合、続く1文字を読み込み出力する。
辞書の最後に出力した文字を追加する。

1だった場合、続いて開始位置と一致長を読み込む
辞書から一致長分の文字列を出力する。
辞書の最後に出力した文字列を追加する。

辞書サイズが大きくすると開始位置を表す記号も大きくなるため
辞書サイズが大きくなるほど圧縮率が良くなるという訳ではない。

また一致長が1だった場合(1,開始位置,一致長)と出力するより
(0,文字)と出力した方が圧縮率が良くなる。

さらに一致長が3以下の場合は辞書に登録されていないとみなした場合
つまり(0,文字)(0,文字)(0,文字)のように出力するとした場合
3以下の一致長は現れないため

一致長を符号化時は(一致長 - 3)
復号化時は(一致長 + 3)のように表せる。
要するに最大一致長を増やすことができる。
最大一致長を変えない場合でも、より小さな値で一致長を表現できる。
【2007年01月16日21:58 】 | 圧縮 | コメント(0) | トラックバック()
いなばうわぁ・・・・
いなばうぁ~ すごいね・・・っと言われ

いないいないばぁ~ だと思っていたが・・・^^;
2006年総集編で荒川選手のVTRが・・・

スケートのイナバウワー選手が最初に演技した
仰け反った姿勢のことだったのね・・・^^;

抱っこの時なんか仰け反ると・・・
あっ 下から白いものが顔出してる・・・^^

歯が一本みえてきたぁ~~~^^
【2006年12月31日23:44 】 | 成長日記 | コメント(0) | トラックバック()
くりすます・・・
クリスマスツリーが彼方此方で点灯しはじめ・・・
お店でもクリスマスプレゼント用の品々が・・・

買い物について来た息子たち・・・
カブトの変身ベルトを発見・・・^^;

・・・

てこでも動かないよぅ・・・;;
買い物籠の中に入れることに・・・^^;

家に帰ったら早速遊び始めることに・・・^^
クリスマスまでもつだろうか???

・・・

あ~~~っカブトの角が~~~・・・TT
【2006年12月19日19:19 】 | 成長日記 | コメント(0) | トラックバック()
前ページ| ホーム |次ページ

忍者ブログ [PR]