mit dem hex-system rechnen?

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von ChaosWare.

    Hi,
    Ja das geht. Du kannst z.B. Integer.Parse, Long.Parse etc. und ConvertToString(number, 16) verwenden. Hexadezimalzahlen sind übrigens viel einfacher zu bedienen, als Dezimalzahlen. Das liegt daran, dass Bytes 256 verschiedene Möglichkeiten, also 16^2, besitzen. Deswegen werden sie "lieber" verwendet. (10^krum = 256 ;))

    Edit:
    z.B. 0xFF = 255, da die 0 auch eine Zahl ist.
    Anmerkung: z.B. -1 = 0xFFFFFFFF bei Integern. Das dient dazu, um bei einem +1 Rechnen schnell die 0 durch einen Überlauf zu erzeugen und somit die Effizienz der Addition zu erhöhen.

    Gruß
    ~blaze~
    Hatte mal eine Funktion zur umrechnung in verschiedene Zahlensysteme (bis zur Basis 36)

    VB.NET-Quellcode

    1. Function DEZtoBASIS(ByVal DEZ As Integer, ByVal BASIS As Byte) As String
    2. If BASIS < 0 OrElse BASIS< 2 OrElse BASIS> 36 Then Return "Fehler: Werte sind nicht korrekt"
    3. Dim ERG As String = "", ABC As String() = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9","a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"}
    4. While Not DEZ = 0
    5. ERG = ABC (DEZ Mod BASIS) + ERG
    6. DEZ \= BASIS
    7. End While
    8. Return ERG
    9. End Function


    Aufruf:

    VB.NET-Quellcode

    1. erg = DEZtoBASIS(150,16) ' Basis 16 (HEX) von 150


    VB.NET - Dezimalzahl in Basis (bis 36) umrechnen

    MfG, Chris