|    | 
     ▼kein さん:こんばんわ、ちんといいます。 
10進ー>2進の変換ですが、命令数が少なくなれば、 
処理速度が高速になります。 
スピードは比較してませんが、参考サイトのプログラミングを添付します。 
 
Private Function Convert10to2(Value As Long) As String 
 
  Dim lngBit As Long 
  Dim strData As String 
 
  Do Until (Value < 2 ^ lngBit) 
    If (Value And 2 ^ lngBit) <> 0 Then 
      strData = "1" & strData 
    Else 
      strData = "0" & strData 
    End If 
 
    lngBit = lngBit + 1 
  Loop 
 
  Convert10to2 = strData 
 
End Function 
 
または、 
 
Function DecToBin(ByVal Dec As Long) As String '10進法→2進法 
'左からループ変数、桁数、2進法文字列 
Dim cnt&, keta&, Bin$ 
On Error GoTo Trap 
 
'桁数チェック 
If Dec < 0 Or Dec >= 2 ^ 32 Then Exit Function '桁数を確認する 
For cnt = 0 To 31 
  If Dec < 2 ^ cnt Then 
  keta = cnt - 1 
  Exit For 
  End If 
Next 
 
'上の位から分解していく 
For cnt = keta To 0 Step -1 
  Bin = Bin + CStr((Dec \ (2 ^ cnt)) Mod 2) 
Next 
 
DecToBin = Bin 
 
Trap: 
 
End Function 
 
2種類UPします。 
 
サイトの検索方法は、vba 2進変換 で、探してみて下さい。 
 
以上、参考までに・・・ 
 | 
     
    
   |