#console
dim temp$ as String
temp$="0001011010001010100010011"
temp$=Bin2Dec(temp$)
print temp$
end
'**************************************************
Function Bin2Dec(ByVal data As String) As String
Dim data2 As Qword
dim c as Dword
dim temp$ as String
dim j as Dword
data2=0
j=0
c=Len(data)
Do
j=j+1
c=c-1
temp$=Mid$(data,j,1)
data2=data2+(1 << c)*Val(temp$)
Loop Until c=0
Bin2Dec = Str$(data2)
End Function
#console
dim temp$ as String
temp$="0001011010001010100010011"
temp$=Bin2Dec(temp$)
print temp$
end
'**************************************************
Function Bin2Dec(ByVal data As String) As String
Dim data2 As Qword
dim c as Dword
dim temp$ as String
dim j as Dword
dim dum$(9) As String
'もっと色々な数で試してみたが、こちらの環境では初期化0のものが最低で10個必要だった。
data2=0
j=0
c=Len(data)
Do
j=j+1
c=c-1
temp$=Mid$(data,j,1)
data2=data2+(1 << c)*Val(temp$)
Loop Until c=0
Bin2Dec = Str$(data2)
debug'Mid$、Str$でアクセス違反にならなければここまで来るはず
End Function