Avatar billede mesterlars Nybegynder
02. januar 2001 - 13:22 Der er 2 kommentarer og
1 løsning

fra Binær til Int og tilbage igen

Nogen der har følgende funktioner i VB?

Function toBin(Param IntTal As Integer)
End Function

Function toInt(Param BinTal As Integer)
End Function
Avatar billede phpgris Nybegynder
03. januar 2001 - 16:23 #1
Function HiByte(ByVal nInteger As Integer) As Byte
    HiByte = nInteger \\ &H100 And &HFF&
End Function
 
Function LoByte(ByVal nInteger As Integer) As Byte
    LoByte = nInteger And &HFF&
End Function

Function IntValue(HiByte As Byte, LoByte As Byte) As Integer
    IntValue = HiByte * 256 + LoByte
End Function
Avatar billede jennemaan Nybegynder
04. januar 2001 - 15:03 #2
Hej mesterlars :)

Jeg har lavet en generel funktion for at konvertere fra decimal til en hvilken som helst base:

Function ConvertDecToBaseN(ByVal dValue As Double, Optional byBase As Byte = 16) As String
Const BASENUMBERS As String = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\"
Dim sResult As String
Dim dRemainder As Double

On Error GoTo Errorhandler
sResult = \"\"

If (byBase < 2) Or (byBase > 36) Then GoTo Done
dValue = Abs(dValue)
Do
    dRemainder = dValue - (byBase * Int((dValue / byBase)))
    sResult = Mid$(BASENUMBERS, dRemainder + 1, 1) & sResult
    dValue = Int(dValue / byBase)
Loop While (dValue > 0)
Done:
    ConvertDecToBaseN = sResult
    Exit Function
Errorhandler:
    Err.Raise Err.Number, \"ConvertDecToBaseN\", Err.Description
End Function

Vil du konvertere feks. 255 til Binær bruges

ConvertDecToBaseN(255,2)
Resulterer i \"11111111\"

Til Hex
ConvertDecToBaseN(255,16)
Resulterer i \"FF\"

Osv...

Du kan konverterer fra og med base 2 (binært) tom base 36.

Hvis du vil konvertere fra binær til dec kan du bruge følgende function:

Function BinToDec(ByVal strBin As String) As Double
Dim intPlace As Integer
Dim dblValue As Double
Dim dblSum As Double
On Error GoTo Errorhandler
For intPlace = Len(strBin) To 1 Step -1
   
    Select Case Mid(strBin, intPlace, 1)
   
    Case \"0\"
   
    Case \"1\"
        \'Debug.Print dblValue
        dblValue = dblValue + 2 ^ (Len(strBin) - intPlace)
    Case Else
        Err.Raise 1024, , \"Not a binary number\"
    End Select
Next intPlace
BinToDec = dblValue
Exit Function
Errorhandler:
    Err.Raise Err.Number, \"BinToDec\", Err.Description
End Function


/Jennemaan
Avatar billede mesterlars Nybegynder
08. januar 2001 - 10:47 #3
Jennemaan får pointene da hans virker og jeg fatter hvad der sker. php jeg forstod ikke rigtigt hvad jeg skulle sætte ind i dine funktioner...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester