Hallo,
Habe folgenden Code, welcher den Wert der Variable „i“ aus dem Dezimalsystem ins Dualsystem „übersetzt“:
Dim x As Integer
Dim a(100) As Integer
Dim i As Integer
Dim Zahl As Long
Dim Name As Long
y = i - 1
Do Until y = 1
e = 0
For j = 1 To y
If y / j = 2 Then e = 1
Next j
If e = 1 Then
y = y / 2
a(x) = 0
Else
y = (y - 1) / 2
a(x) = 1
End If
Cells(x + 19, 3) = a(x)
x = x + 1
Loop
Name = "1"
For b = 1 To (x - 1)
Name = Name & a(x)
Next
Cells(i, 2) = Name
TBErgebnis.Text = TBErgebnis.Text & " " & Cells(i, 2)
Allerdings spuckt er mir bei i=65 bis 67 immer 1000000 aus. Bei 65 ist dies natürlich auch noch richtig, aber danach nicht mehr. 1 und 2 macht er auch noch richtig, aber danach macht er nochmal 10 und danach 100, was dann ja wieder richtig ist. Ich schätze es hat was mit dem Index zu tun, habe mit diesem noch nicht so viel gemacht, weshalb ich mir sicher bin, dort was falsch gemacht zu haben.
Vll. könnt ihr mir ja helfen. Durch Debuggen habe ich es nicht hinbekommen ;(
Oder gibts vll. nen einfach Befehl der das macht?
Sowas wie:
y Dezi into Dual = i
Oder sowas… Habe leider so noch keinen Befehl gefunden…
In Hoffnung mir helfen zu können…
Gruß
GURKE