よし。写経しながら改造すっか
で、気付いたw
コレ。数値→文字列で
僕が書きたいの。文字列→数値でした(2進数) 爆
で、Let's HSPさんとこにありそうなかんじしたので
検索かけたら本当にありましたw
#uselib "msvcrt" #cfunc strtol "strtol" str, nullptr, int ; 2進数 mes strtol("101101", 2)
誰書いてもこう使うしかないから貼って大丈夫ですよね
著作権があるとしたらmsvcrt書いた人(企業?)ですよねw
そういえば現在の書式
0は1になってて1は2になってましたw
212212みたいなw
ハイ。写経終わりました。モジュールも書きました
ver 0.1
ver 0.2 正の数は1最初の文字が1 負の数は最初の文字が2になります
#uselib "msvcrt" #cfunc strtol "strtol" str, nullptr, int #module // 1or2 2進数データを 0or1 2進数データ に変換 #defcfunc get_12to01 str p_str,local p_tmp,local _2sinn_ar,local tmp_l,local tmp4peek,local r_str ;p_tmp="112212" p_tmp=p_str dim _2sinn_ar,40 tmp_l=strlen(p_tmp) ;mes tmp_l repeat tmp_l tmp4peek=peek(p_tmp,cnt) if tmp4peek=='1':_2sinn_ar.cnt='0' if tmp4peek=='2':_2sinn_ar.cnt='1' loop sdim r_str,40 repeat tmp_l poke r_str,cnt,_2sinn_ar.cnt loop return r_str // 1:プラス 1を返す か 2:マイナス -1を返す #defcfunc get_pm str p_str,local tmp_str,local _4peek tmp_str=p_str _4peek=peek(tmp_str,0) if _4peek='1':return 1 if _4peek='2':return -1 return -2//error #global // 変換前データ str_a="1112212" // 最初の文字取り出し:1なら+2なら- str_aa=strmid(str_a,0,1) l_str_a=strlen(str_a) // 2文字目から文字列の最後まで取り出し。2進数の数値が該当する str_ab=strmid(str_a,-1,(l_str_a-1)) // 1:プラス か 2:マイナス mes str_aa // (たぶんw)2進数の文字列データ mes str_ab // 1or2 2進数データを 0or1 2進数データ に変換して表示 mes get_12to01(str_ab) // 2進数を数値に変換したのを表示 mes strtol(get_12to01(str_ab), 2) // 2進数を数値に変換してプラスかマイナスにしたのを表示 mes strtol(get_12to01(str_ab), 2)*get_pm(str_aa) // 変換前データ str_b="2112212" // 最初の文字取り出し:1なら+2なら- str_ba=strmid(str_b,0,1) l_str_b=strlen(str_b) // 2文字目から文字列の最後まで取り出し。2進数の数値が該当する str_bb=strmid(str_b,-1,(l_str_b-1)) // 1:プラス か 2:マイナス mes str_ba // (たぶんw)2進数の文字列データ mes str_bb // 1or2 2進数データを 0or1 2進数データ に変換して表示 mes get_12to01(str_bb) // 2進数を数値に変換したのを表示 mes strtol(get_12to01(str_bb), 2) // 2進数を数値に変換してプラスかマイナスにしたのを表示 mes strtol(get_12to01(str_bb), 2)*get_pm(str_ba)