プチコン3号 SmileBASIC コミュニティ投稿ヨッシー okkun20022015/01/17 23:31:45質問文字列の圧縮をしようと思っています。 文字を数字にしてひとつ隣の文字の数字と足し算して文字に戻そうと思います ですが、その場合、解凍ができません。どうしたらいいですか?4そうだね 8返信プレイ済み2017/11/04 00:11:40に取得
プチコン3号 SmileBASIC コミュニティ返信[1]親投稿ASA fusuian2015/1/17 23:57それではやはり解凍はできません。 圧縮の方法(アルゴリズム)は何種類かあって、何を圧縮するかで効率のいい方法は変わってきます。 圧縮したいデータはなんですか?0そうだね プレイ済み2017/11/04 00:11:40に取得
プチコン3号 SmileBASIC コミュニティ返信[2]親投稿ゆうたん yu-tan-sama2015/1/17 23:59その考え方ではダメです 1+1は2ですが、2は1+1の計算結果とは限りませんし、元に戻せません 一般的な圧縮法としてはランレングス符号化とかハフマン符号化なんてものが利用されてます ランレングスってのはわりと簡単な考え方で "AAAAABBB"を"A5B3"と表現する感じです0そうだね プレイ済み2017/11/04 00:11:40に取得
プチコン3号 SmileBASIC コミュニティ返信[3]親投稿ASA fusuian2015/1/18 0:00何か、というのは文章か、絵か、音声か、プログラムかというようなことです。絵でも、アニメ絵と写真でやり方が変わってきます。0そうだね プレイ済み2017/11/04 00:11:40に取得
プチコン3号 SmileBASIC コミュニティ返信[4]親投稿ユウ・フブキ you_fubuki2015/1/18 3:29文字列との事ですので、恐らくメッセージ的なデータか、mapデータを数値文字列にした物かと思いますが・・。 文字メッセージの圧縮・解凍はまず不可能ですし、出来たとしてもメリットは薄いでしょう。mapデータのような同じ数値や配置が連続するパターンでしたら、十分可能です。 その際には、上記お二方がコメントされているような準備が必要ですね。 0そうだね プレイ済み2017/11/04 00:11:40に取得
プチコン3号 SmileBASIC コミュニティ返信[5]親投稿あきと SideBurnsM2015/1/18 3:53まずは"aaabbbbc"という文字列を"a3b4c1"に圧縮する「ランレングス」という方法に着手してみるのがよいのではないでしょうか。 見た通り同じ文字が続いたらその数字を書くという方法です。0そうだね プレイ済み2017/11/04 00:11:40に取得
プチコン3号 SmileBASIC コミュニティ返信[6]親投稿けい kei0baisoku2015/1/18 10:06あ、数値への圧縮なら足し算でなくビット演算を利用して、ひとつの数値の中に2つ分の文字を保存するのもありかもしれませんね。メモリサイズは変わらないかもしれませんが……… ビット演算を理解すれば作るのは簡単なので、これを機に覚えてみるのもオススメです。0そうだね プレイ済み2017/11/04 00:11:40に取得
プチコン3号 SmileBASIC コミュニティ返信[7]親投稿あまさと しおん ShionAmasato2015/1/18 11:02情報が失われてるから戻るはずがない。 上で2という数字の話が出てるけど、 「2が答えになる足し算をしてください。」って言われたら1+1、0+2、2+0のどれを答えても正解になるよね。0そうだね プレイ済み2017/11/04 00:11:40に取得
プチコン3号 SmileBASIC コミュニティ返信[8]親投稿あまさと しおん ShionAmasato2015/1/18 11:05ちなみに、頑張れば普通の文章(「こんにちは。今日は晴天なり。」とか)の圧縮も作れます。ただし長さを半分以下にするのは難しい。0そうだね プレイ済み2017/11/04 00:11:40に取得