Buchempfehlung
Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie
Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie
Umfassend, aber leicht verständlich führt dieses Buch in die Programmierung von ATMEL AVR Mikrocontrollern ein. [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

Code-Beispiel

Code-Beispiele » Mathematik

HEX 2 Dezimal

Lizenz:Erster Autor:Letzte Bearbeitung:
k. A.MitgliedThePuppetMaster 07.04.2008

Manchmal braucht man eine Funktion, die einem eine HEX-Zahl in einen ASCII-Wert umwandelt. Hierfür kann man den folgenden Code nutzen, der Zahlen bis zu FFFFFFFFFFFFFFFF [FF FF FF FF FF FF FF FF] bzw. 9223372039002259456 [9.223.372.039.002.259.456] umwandeln kann.

Die Anwendung ist gleich der HEX() Funktion. Nur, daß statt Dezimalwert ein HEX-Wert übergeben wird, und dafür kein HEX sondern eben der Dezimalwert herauskommt.

Function DeHex(ByVal V_Hex As String) As ULongInt
Dim X as ULongInt
Dim L as ULongInt
Dim D As ULongInt
Dim T as UByte
Dim V As UByte
V_Hex = UCase(V_Hex)
L = Len(V_Hex)
For X = 1 To L
    T = asc(Mid(V_Hex, X, 1))
    Select Case T
        Case 65 to 70: V = T - 55
        Case Else: V = Val(chr(T))
    End Select
    D += V * 16 ^ (L - X)
Next
Return D
End Function

Print DeHex("FF")

Das ist jedoch nur ein Beispiel, das zeigen soll, wie's gemacht werden kann.
Alternativ kann man natürlich auch folgenden Code Nutzen

Print ValULng("&h" & "FFFF")


Zusätzliche Informationen und Funktionen
  Bearbeiten Bearbeiten  

  Versionen Versionen