Hallo Miteinander,
ich versuche mich gerade an vba. Der folgende Quellcode produziert eine Endlosschleife und ich verstehe nicht warum.
Könnte vielleicht einer der Profis drüber schauen und mir erklären warum?
Die Idee: Ich wollte in einer Schleife die Umrechnung einer Dualzahl in eine Dezimalzahl testen, für 1 bit, für 2 bit, usw. ( bis 8 )
Die Ziellendung wäre: 128 192 224 240 248 252 254 255. Hängt sich aber auf. Wenn ich den Parameter bei Funktionsaufruf auf eine konstante Zahl
wie 1 setze geht es.
Please help me ...
Function getDecimalFromDual(b As Byte) As Byte
Dim faktor As Byte
faktor = 128
getDecimalFromDual = 0
Do While b > 0
getDecimalFromDual = getDecimalFromDual + faktor
faktor = faktor \ 2 'ganzzahlige Division
b = b - 1
Loop
End Function
Sub teste()
Dim ausgabe As String
Dim zaehler As Byte
zaehler = 1
Do While zaehler < 8
ausgabe = ausgabe & " " & getDecimalFromDual(zaehler)
zaehler = zaehler + 1
Loop
MsgBox (ausgabe)
End Sub
|