VBcoders Guest



Don't have an account yet? Register
 


Forgot Password?



Convert Hex to Decimal (32-bit Unsigned)

by Larry Serflaten (8 Submissions)
Category: Math/Dates
Compatability: Visual Basic 3.0
Difficulty: Unknown Difficulty
Date Added: Wed 3rd February 2021
Rating: (38 Votes)

Converts Hex [0 - FFFFFFFF] to Decimal [0 - 4294967295] using Currency type to avoid the sign bit.

Inputs
A valid 1-8 character Hex String
Code Returns
A Currency value in the range of 0 - 4294967295

Rate Convert Hex to Decimal (32-bit Unsigned)

Function ConvertHex (H$) As Currency
Dim Tmp$
Dim lo1 As Integer, lo2 As Integer
Dim hi1 As Long, hi2 As Long
Const Hx = "&H"
Const BigShift = 65536
Const LilShift = 256, Two = 2
  Tmp = H
  'In case "&H" is present
  If UCase(Left$(H, 2)) = "&H" Then Tmp = Mid$(H, 3)
  'In case there are too few characters
  Tmp = Right$("0000000" & Tmp, 8)
  'In case it wasn't a valid number
  If IsNumeric(Hx & Tmp) Then
    lo1 = CInt(Hx & Right$(Tmp, Two))
    hi1 = CLng(Hx & Mid$(Tmp, 5, Two))
    lo2 = CInt(Hx & Mid$(Tmp, 3, Two))
    hi2 = CLng(Hx & Left$(Tmp, Two))
    ConvertHex = CCur(hi2 * LilShift + lo2) * BigShift + (hi1 * LilShift) + lo1
  End If
End Function

Download this snippet    Add to My Saved Code

Convert Hex to Decimal (32-bit Unsigned) Comments

No comments have been posted about Convert Hex to Decimal (32-bit Unsigned). Why not be the first to post a comment about Convert Hex to Decimal (32-bit Unsigned).

Post your comment

Subject:
Message:
0/1000 characters