Hi,
hier im Forum hat vor ca einer Stunde jemand eine Frage gestellt, erst dachte ich, das ganze sei total einfach. Allerdings habe ich jetzt gerade beim rumprobieren festgestellt, dass ich meine kleine begrenzte Welt nicht mehr verstehe
In der Theorie und auf dem Blatt Papier kann ich mit beiden Zahlensystemen bis ins Unendliche rechnen (sofern die Tinte und das Papier ausreichen ). Bei AutoIT habe ich allerdings etwas, für mich, sehr seltsames endeckt.
Folgendes ergibt 0
$y = 0xFFFFFFFF
MsgBox(0,"result",$y)
Folgendes ergibt -2147483648
$y = 0x80000000
MsgBox(0,"result",$y)
Folgendes ergibt 2147483647
$y = 0x7FFFFFFF
MsgBox(0,"result",$y)
Folgendes ergibt 0
$y = 0x00000000
MsgBox(0,"result",$y)
Wobei hingegen im Dezimalen Bereich das Rechenlimit bei 10^308 liegt
$x = "10"
$y = "308"
MsgBox(0,"result",$x^$y)
Wenn man nun allerdings versucht dieses 10^308 in das Hexadezimalsystem umzuwandeln bekommt man ein föllig falsches Ergebnis, das da lautet 0x80000000
$x = "10"
$y = "308"
$z=$x^$y
MsgBox(0,"result",Hex($z))
Das wiederum bedeutet, dass in AutoIT -2147483648 = 10^308 ist???
(nochmal aufgebröselt:10^308 ->(in Hex)->0x80000000->(in Dezimal)->-2147483648 )
Ausserdem wäre in AutoIT 0xFFFFFFFF und 0x00000000 gleich zu setzen, was wiederum, falls in Dec umgewandelt, anschließend damit gerechnet und wieder in Hex umgewanelt föllig sinnfreie Ergebnise produziert werden....
siehe:
$x = 0xFFFFFFFF
$y = Dec($x)
$z = Hex($y)
MsgBox(0,"result","0x"&$z)
in der Box wird 0x00000000 ausgegeben?
Wo liegt da der Sinn?
Ich verstehe meine mathematische Welt wirklich nicht mehr.... Kann mir hier jemand auf die Sprünge helfen?
Der korrekte "Zahlenstrahl", Dec in Hex umgewandelt, müsste folgendermaßen aussehen:
0...1....2147483647...2147483648...4294967294...4294967295 ->in Hexadezimal
-> 0...1...7FFFFFFF...80000000...FFFFFFFE...FFFFFFFF
In AutoIT sieht der "Zahlenstrahl", Dec in Hex umgewandelt, allerdings so aus:
0...1....2147483647...-2147483648...-1...0 ->in Hexadezimal
-> 0...1...7FFFFFFF...80000000...FFFFFFFE...FFFFFFFF
(diese "Zahlenstrahle" kann man selbstverständlich in der Theorie bis ins unendliche weiterführen, ich habe hier allerdings die Diskrepanz zwischen meiner Logik und AutoIT aufzeigen wollen)
Ich bitte darum, dass mir hier jemand auf die Sprünge hilft...
Viele Grüße