Avatar billede jeppejp Nybegynder
28. august 2003 - 20:20 Der er 4 kommentarer og
2 løsninger

Konvertering fra decimal til binær og tilbage

Meget simpelt jeg har et decimal tal jeg gerne vil konvertere til binær, og tilbage igen...

derefter skal tallene smides i variabler for sig selv, f.eks.
12 = 1100, det skal deles ud i fire variabler bin0, bin1, bin2, bin3... sådan at
bin0 = 0
bin1 = 0
bin2 = 1
bin3 = 1

:)
Avatar billede dj-pede Nybegynder
28. august 2003 - 20:23 #1
Har desværre ikke noget svar på den. Men jeg kan nu alligevel ikke lade være med at skrive. Det lyder godt som noget "hidsigt" du har gang i :)
Avatar billede driis Nybegynder
28. august 2003 - 20:29 #2
Jeg havde lige den her liggende:

Private Function Dec2Bin(Dec As Long) As String
buf = Dec
Dec2Bin = ""
For I = 15 To 0 Step -1
    If 2 ^ I <= Dec Then
        Dec2Bin = Dec2Bin + "1"
        Dec = Dec - 2 ^ I
    Else
        Dec2Bin = Dec2Bin + "0"
    End If
Next I
Dec = buf
Do
    If Left(Dec2Bin, 1) = "0" Then Dec2Bin = Right(Dec2Bin, Len(Dec2Bin) - 1)
Loop Until Not Left(Dec2Bin, 1) = "0" Or Len(Dec2Bin) = 1
End Function
Avatar billede m_skau Nybegynder
28. august 2003 - 20:32 #3
Hvis du bruger VB7 er det meget nemt:
brug Convert.ToString(mittal, base)
hvor mittal er det tal der skal konverteres (f.eks. 12) og base er 2 for binær, 8 for oktal, 16 for hexadecimal.
Når du skal konvertere strengen til separate variable kan du loope igennem strengen med mid() funktionen, men jeg ville foretrække at lave en array vha. split() funktionen.
Avatar billede jeppejp Nybegynder
28. august 2003 - 20:34 #4
kunne du eventuelt hjælpe med at få dec2bin() delt ud i 8 variabler ?
Avatar billede driis Nybegynder
28. august 2003 - 20:40 #5
Mit første svar var noget jeg lavede for meget lang tid siden, det kan selvfølgelig laves meget simplere (den tager kun de første 8 bit, men du kan nok se hvor det skal tilpasses) :

Dim i, val As Integer
Dim bin(8) As Byte
val = CInt(Text1.Text)
i = 0

While (i < 8)
    If (val And 2 ^ i) Then bin(i) = 1 Else bin(i) = 0
    i = i + 1
Wend
Avatar billede driis Nybegynder
28. august 2003 - 20:42 #6
val = CInt(text1.text)
skal selvf. erstattes af det tal / variabel du vil have konverteret.
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

IT-JOB

Netcompany A/S

Network Engineer

Rambøll Management Consulting

Senior AI Engineer

KMD A/S

Projektleder

Capgemini Danmark A/S

Client Partner