음... python을 제외한 거의 모든 언어들이 무한 계산을 지원하지 않는다는 점이 약간 불편하기도 하여서... 한번 만들어봤습니다. 물론 vb6.0에서만 가능하고, 다른 언어로 변환 또는 수정해서 사용하신다면 주석으로 출처를 남겨주시면 감사하겠습니다~~~ 그리고 주석은 지우지 마세요...
이 함수의 특징 : String 연산으로 무한적으로 연산이 가능하다. String으로 연산이 빠르다.
응용 : 사칙연산
=============================================================
Function addstr(ByVal data1 As String, ByVal data2 As String) As String 'Infinity add, by Jinmo
Dim tmp As Integer
Dim i As Integer
i = 0
Do While (Len(data1) - i > 0 Or Len(data2) - i > 0)
If Len(data1) - i <= 0 Then
Stop
p1 = 0
Else: p1 = Val(Mid(data1, Len(data1) - i, 1))
End If
If Len(data2) - i <= 0 Then
p2 = 0
Else: p2 = Val(Mid(data2, Len(data2) - i, 1))
End If
If p1 + p2 >= 10 Then
p1 = (p1 + p2) Mod 10
p2 = 0
b = True
Else
b = False
End If
addstr = p1 + p2 + tmp & addstr
i = i + 1
If b = True Then tmp = 1
If b = False Then tmp = 0
Loop
If tmp = 1 Then
addstr = 1 & addstr
End If
End Function
이 함수의 특징 : String 연산으로 무한적으로 연산이 가능하다. String으로 연산이 빠르다.
응용 : 사칙연산
=============================================================
Function addstr(ByVal data1 As String, ByVal data2 As String) As String 'Infinity add, by Jinmo
Dim tmp As Integer
Dim i As Integer
i = 0
Do While (Len(data1) - i > 0 Or Len(data2) - i > 0)
If Len(data1) - i <= 0 Then
Stop
p1 = 0
Else: p1 = Val(Mid(data1, Len(data1) - i, 1))
End If
If Len(data2) - i <= 0 Then
p2 = 0
Else: p2 = Val(Mid(data2, Len(data2) - i, 1))
End If
If p1 + p2 >= 10 Then
p1 = (p1 + p2) Mod 10
p2 = 0
b = True
Else
b = False
End If
addstr = p1 + p2 + tmp & addstr
i = i + 1
If b = True Then tmp = 1
If b = False Then tmp = 0
Loop
If tmp = 1 Then
addstr = 1 & addstr
End If
End Function