login  Naam:   Wachtwoord: 
Registreer je!
 Forum

cijfer omzetten naar tweemachten (binair) (Opgelost)

Offline kaspar - 19/04/2010 19:27
Avatar van kasparNieuw lid hallo allemaal, ik gebruik in Excel het volgende script:

  1. Sub Knop30_BijKlikken()
  2. Dec = Range("B5")
  3. If Dec < 65537 Then
  4. Dec = Dec2Bin(Dec)
  5. Range("G5").Select
  6. ActiveCell.FormulaR1C1 = Dec
  7. Else
  8. MsgBox "E is te groot voor Excel."
  9. End If
  10. End Sub
  11. Function Dec2Bin(lngNumber)
  12.  
  13. Dim strBinary
  14.  
  15. strBinary = ""
  16. While lngNumber > 0
  17. If lngNumber Mod 2 = 0 Then
  18. strBinary = "0" & strBinary
  19. Else
  20. strBinary = "1" & strBinary
  21. End If
  22. lngNumber = lngNumber \ 2
  23. Wend
  24. Dec2Bin = strBinary
  25.  
  26. End Function


Probleem: Ik wil ervoor zorgen dat in plaats van de code 10011 (bijvoorbeeld) in de cel komt te staan: 16+2+1.

Weet iemand hoe ik de code moet aanpassen, of, als dat makkelijker is, een nieuw script hiervoor moet maken?

1 antwoord

Gesponsorde links
Offline Martijn - 19/04/2010 19:58 (laatste wijziging 19/04/2010 20:52)
Avatar van Martijn Crew PHP als dr geen handig truucje voor je, kun je een loopje maken in de length van je string

1. string omdraaien
2. explode string
3:
  1. $returnArray = array();
  2. while($array as $key => $value){
  3. $multiplier = 1;
  4. $returnArray[] = $value * $multiplierl
  5. //edit, deze is ook wel handig:
  6. $multiplier *= 2;
  7. }
  8. $returnArray = array_reverse($returnArray);
  9. echo implode("+",$returnArray);


iets in die zin mogelijk en dan in je eigen programmemertaal
Bedankt door: kaspar
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.179s