- ベストアンサー
16進数を2進数に変換するコードを知りたい
16進数を2進数に変換するコードをselect caseを用いて作りました。 しかし、遅いです。 場合分けの考え方を利用して、例えば変数がFだったら・・みたいな感じで16個のcase全てを書いてみたのですが、もし他にもっと早く処理する方法が合ったら教えてください。 また、データ型はこれが最良でしょうか?? データ型 変数1、2 使用文字:相当長い文字列のためstring 変数3 使用文字:1-0,A-F,及び0000-1111:string 変数4、5 使用文字:1-1,000,000程度:integer
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
変数 x : 元の1桁の16進数に相当する数値(0~15) str$((x and 8)>>3) & str$((x and 4)>>2) & str$((x and 2)>>1) & str$(x and 1) v : 1桁の16進数文字列 x = CInt("&H" & v)
その他の回答 (1)
- taunamlz
- ベストアンサー率20% (175/843)
こんな技はどうですか? dd(Asc("0")) = "0000" dd(Asc("1")) = "0001" dd(Asc("2")) = "0010" dd(Asc("3")) = "0011" dd(Asc("4")) = "0100" dd(Asc("5")) = "0101" dd(Asc("6")) = "0110" dd(Asc("7")) = "0111" dd(Asc("8")) = "1000" dd(Asc("9")) = "1001" dd(Asc("10")) = "1010" dd(Asc("11")) = "1011" dd(Asc("12")) = "1100" dd(Asc("13")) = "1101" dd(Asc("14")) = "1110" dd(Asc("15")) = "1111" にしておいて、 label1.caption = dd(Asc(データ)) 見たいな感じだと分岐を使わない分早いかもしれないと思うのですが。