プチコン3号 SmileBASIC コミュニティ投稿あまさと しおん ShionAmasato2015/04/25 10:38:29L=0A$=""FOR I=0TO LEN(B$)-1改行 C=ASC(B$[I])IF C==D[0]THEN L=!L:NEXT P=1C=C-L FOR J=0TO 14A$=A$+STR$(!!(C AND P))P=P*2NEXT A$=A$+STR$(!!(C AND P))NEXT 特殊65536進数から2進数への変換を行う処理 多分初心者には意味不明4そうだね 10返信プレイ済み2017/11/03 21:45:10に取得
プチコン3号 SmileBASIC コミュニティ返信[1]親投稿あまさと しおん ShionAmasato2015/4/25 10:392行目以降、改行って書くの忘れたけど気にしないで0そうだね プレイ済み2017/11/03 21:45:10に取得
プチコン3号 SmileBASIC コミュニティ返信[2]親投稿あまさと しおん ShionAmasato2015/4/25 10:59どこに反応したんだろう2そうだね プレイ済み2017/11/03 21:45:10に取得
プチコン3号 SmileBASIC コミュニティ返信[3]親投稿みほ kanachi_20022015/4/25 12:26たぶん初心者には役に立たないだろう。1そうだね プレイ済み2017/11/03 21:45:10に取得
プチコン3号 SmileBASIC コミュニティ返信[4]親投稿MIKI ifconfig2015/4/25 17:43れいさんのそもそも論で解決した風ですが… 1bitずつ処理するのをやめて4bitまとめて"0101"みたいに変換すればかなり速くなります。図のbin16(x)ってやつ。応用で8bitまとめればもっと速いかも。dim bin8$[256]みたいな。 それと長い文字列への追加はコピーが起きてどんどん遅くなるから、(続く)1そうだね プレイ済み2017/11/03 21:45:10に取得
プチコン3号 SmileBASIC コミュニティ返信[5]親投稿MIKI ifconfig2015/4/25 17:51一文字分ずつ配列E$[]に入れて、最後に二分法的なやり方でがっちんこすれば文字列の加算回数が最小になります。これでさらに速くなるはず。図のA$=CAT(0,LEN(B$)-1)です。1そうだね プレイ済み2017/11/03 21:45:10に取得
プチコン3号 SmileBASIC コミュニティ返信[6]親投稿あまさと しおん ShionAmasato2015/4/25 18:00そうか、テーブル化を忘れていたようだ。 けど、このプログラムはoutofmemoryを避けるため文字列変数は減らしたいところ。0そうだね プレイ済み2017/11/03 21:45:10に取得
プチコン3号 SmileBASIC コミュニティ返信[7]親投稿あまさと しおん ShionAmasato2015/4/25 18:16かなり早くなった (いまさら気が付いたけど私のプログラムの変換ルーチンは前後が逆になってる)0そうだね プレイ済み2017/11/03 21:45:10に取得
プチコン3号 SmileBASIC コミュニティ返信[8]親投稿あまさと しおん ShionAmasato2015/4/25 18:19やっかいなことに化けバグの条件が変化した。 もしかしたら大量の文字列を扱ったせいでプチコンのバグを起こしてる可能性も否定できない0そうだね プレイ済み2017/11/03 21:45:10に取得
プチコン3号 SmileBASIC コミュニティ返信[9]親投稿あまさと しおん ShionAmasato2015/4/25 18:21ちなみに8bitのテーブルにしました。0そうだね プレイ済み2017/11/03 21:45:10に取得