Huhu
Ich hab ma ne Frage. Ich hab mich grad ein wenig mit der Umwandlung von Bin in Dec und Hex beschäftigt.
Ich hab da was zusammengebastelt und nun etwas festgestellt was ich mir im mom nicht erklären kann...
Spoiler anzeigen
$var1 = 01111111111111111111
$var2 = 10000000000000000000
$var3 = "01111111111111111111"
$var4 = "10000000000000000000"
$temp = HexDec($var1, 0) & "|" & HexDec($var1, 1) & @CRLF & HexDec($var2, 0) & "|" & HexDec($var2, 1) & @CRLF & _
HexDec($var3, 0) & "|" & HexDec($var3, 1) & @CRLF & HexDec($var4, 0) & "|" & HexDec($var4, 1)
msgbox(0, "", $temp)
[/autoit] [autoit][/autoit] [autoit]Func HexDec($sBin, $iHex = 0)
$result = 0
For $i = 0 To StringLen($sBin)
if StringRight(StringTrimRight($sBin,$i),1) == 1 Then $result += 2^$i
Next
If $iHex == 1 Then
$result = "0x" & Hex($result)
EndIf
Return $result
EndFunc
die funktion läuft gut wenn ich die binäre Zahl als String angebe...
nur wenn ich das als normale zahl angebe geht es problemlos bis hin zu 0x7FFFF wenn ich 0x80000 als bin in hex oder Dec umwandeln will gibt er mir 0 zurück...
aber wie gesagt wenn ich das als string schreibe dann gehts...
jetzt die Frage Warum?