Konvertieren zwischen Zahlensystemen in Lua

  • Eigentlich wollte ich nur Dezimalzahlen als Hex ausgeben um Handle zu vergleichen. Aber, wie üblich, war mir die einseitige Nutzung der Funktion zu wenig und ich habe es auf alle Basen von 2 bis 16 angewendet zum Konvertieren von/zu allen Bereichen.

    Nur Dezimal wird als Zahl ein-/ausgegeben, für alle anderen Basen kommen Strings zur Anwendung. Auf Base2 und Base16 kann zusätzlich mit einem Parameter für Länge konvertiert werden. Bei Bedarf werden dann Vornullen eingefügt. Ist die Längenangabe kürzer als das Ergebnis, wird automatisch angepasst. Falsche Längenangaben [<1, >32(2bin), >16(2hex)] werden korrigiert.

    Es gibt eine Universalfunktion (base2base), die alle Typen untereinander konvertiert und vordefinierte Funktionen für die gängigeren Typen (2, 8, 10, 12, 16) untereinander (dec2bin, bin2hex, ...), es entfallen hier die Parameter für Quell- und Zieltyp.