16. juni 2001 - 14:33 Der er 8 kommentarer og
1 løsning

binær til decimal. dec til hex

Jeg har flg. 2 funktioner:
Function hex_bin(tallet)
streng = \"0123456789ABCDEF\"
tal = 0
For i = 1 To Len(tallet)
tal = tal + ((InStr(streng, Mid(tallet, i, 1)) - 1) * (16 ^ (Len(tallet) - i)))
Next
hex_bin = tal
End Function

Function dec_bin(inputtal)
Bin = \"\"
for g = 7 to 0 step -1
pow = (2 ^ g)
IF inputtal >= pow THEN
    inputtal = inputtal - pow:    Bin = Bin + \"1\"
  ELSE
  Bin = Bin + \"0\"
  END IF
NEXT
dec_bin = Bin
End function

jeg har sikkert stirret mig blind på dem.
er der nogen der kan lave 2  ekstra funtioner som:
konverterer fra binær til dec, og fra dec. til hex

eksempel på binær kan eks. være:
000100011110001000000000000000000000000000000000000000000100011110001000001001111111100100000000000000000000000000000000000000001001111111100100011011111111110110000000000000000000000000000000000000011011111111110110111111111111111111000000000000000000000000000000000000111111111111111111111111110000001111000000000000000000000000000000000000111100000011111111111111100000000111000000000000000000000000000000000000111000000001111111011111100100100110000000000000000000000000000000000000011001001001111110001111100100100100000000000000000000000000000000000000001001001001111100000111110011001110000000000000000000000000000000000000011100110011111000000111111111111111000000000000000000000000000000000000111111111111111000000011001111111111000000000000000000000000000000000000111111111100110000000011100011111110000000000000000000000000000000000000011111110001110000000001111111111100000000000000000000000000000000000000001111111111100000000000111111110000000000000000000000000000000000000000000011111111000000

eks på hex kan være:
0000000000000000001800000007f4000000180000000610000000183e79f80604fdf9f81c2261880674c589881c0261800714c589881c0371800716e5c9881c3f71f80716e5c9f81c3370380716e5c9c01c3371380716e5c9c81fbf71f807f6e5f9f800000000000000080000000000000000080000000000000001f800

i hexen tages de 2 og to og smides ind i hex_bin funktionen.
Avatar billede perla Nybegynder
16. juni 2001 - 15:03 #1
Decimal til hex findes som funktion i VBScript

Hex Function
Returns a string representing the hexadecimal value of a number.

Hex(number)

The number argument is any valid expression.

Remarks
If number is not already a whole number, it is rounded to the nearest whole number before being evaluated.

If number is Hex returns
Null  Null.
Empty Zero (0).
Any other number Up to eight hexadecimal characters.


You can represent hexadecimal numbers directly by preceding numbers in the proper range with &H. For example, &H10 represents decimal 16 in hexadecimal notation.

The following example uses the Hex function to return the hexadecimal value of a number:

Dim MyHex
MyHex = Hex(5)  \' Returns 5.
MyHex = Hex(10)  \' Returns A.
MyHex = Hex(459)  \' Returns 1CB.

-Per
Avatar billede perla Nybegynder
16. juni 2001 - 15:31 #2
Her er en string2binary

Function StringToBinary(S)
  Dim i, ByteArray
  For i=1 To Len(S)
    ByteArray = ByteArray & ChrB(Asc(Mid(S,i,1)))
  Next
  StringToBinary = ByteArray
End Function

og en binary2string

Function BinaryToString(Binary)
  Dim I, S
  For I = 1 To LenB(Binary)
    S = S & Chr(AscB(MidB(Binary, I, 1)))
  Next
  BinaryToString = S
End Function

String er et Decimal tal i strengformat.

-Per
Avatar billede perla Nybegynder
16. juni 2001 - 17:00 #3
Afprøvede dem lig, de virker ikke så her er en som lige er testet

Function StringToBinary(S)
  Dim i, ByteArray
    MidVal=Int(S)
    Start = Len(S) * 8
    For Power = Start to 0 step -1
      Power2 = 2^Power
      if MidVal > Power2 Then
        ByteArray = ByteArray + \"1\"
        Midval = MidVal - 2^Power
      Else
        ByteArray = ByteArray + \"0\"
      End If
      Response.write ByteArray & \"<br>\"
    Next
    StringToBinary = ByteArray
End Function

Den har dog en begrænsning i at tallet ikke kan være større end integer kan håndtere. :-(

-Per
17. juni 2001 - 23:15 #4
Per>
Du kalder din funktion StringToBinary
JEg skal bruge Binary to string
17. juni 2001 - 23:18 #5
Mht. til binær til decimal.
Jeg fyrer binære tal(eks. 00110011) ind i funktionen, og ud skal komme tallet osv.
17. juni 2001 - 23:20 #6
din stringtobinary er egentlig det samme jeg gør i min funktion:
Function dec_bin(inputtal)
Bin = \"\"
for g = 7 to 0 step -1
pow = (2 ^ g)
IF inputtal >= pow THEN
    inputtal = inputtal - pow:    Bin = Bin + \"1\"
  ELSE
  Bin = Bin + \"0\"
  END IF
NEXT
dec_bin = Bin
End function
25. juni 2001 - 08:12 #7
ER DER BARE INGEN DER KAN DET HER ???
08. august 2001 - 13:39 #8
Mht. til binær til decimal.
Jeg fyrer binære tal(eks. 00110011) ind i funktionen, og ud skal komme tallet osv.

HJÆÆLP
09. august 2001 - 09:23 #9
fandt den selv.
ret sikpel faktisk, dog skal man lige huske at regne bagvendt ?!?!

;)PnP
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