Toon posts:

[VBS] Decimaal omrekenen naar Binair

Pagina: 1
Acties:

Verwijderd

Topicstarter
Heb net 25 paginas met oude topics doorgezocht, maar nergens stond mijn probleempje, dus alsnog:

Ik ben nog n00b en ik moet een programmatje schrijven dat een geheel decimaal getal van maximaal 65000 in waarde omzet naar een binair getal.
Hier de source:

Dim lngDecimaal As Long
Dim bytBit1 As Byte
Dim bytBit2 As Byte
Dim bytBit4 As Byte
Dim bytBit8 As Byte
Dim bytBit16 As Byte
Dim bytBit32 As Byte
Dim bytBit64 As Byte
Dim bytBit128 As Byte
Dim bytBit256 As Byte
Dim bytBit512 As Byte
Dim bytBit1024 As Byte
Dim bytBit2048 As Byte


Private Sub cmdBereken_Click()

lngDecimaal = Val("txtDecimaal.text")

bytBit1 = (lngDecimaal \ 1)
bytBit2 = (lngDecimaal \ 2)
bytBit4 = (lngDecimaal \ 4)
bytBit8 = (lngDecimaal \ 8)
bytBit16 = (lngDecimaal \ 16)
bytBit32 = (lngDecimaal \ 32)
bytBit64 = (lngDecimaal \ 64)
bytBit128 = (lngDecimaal \ 128)
bytBit256 = (lngDecimaal \ 256)
bytBit512 = (lngDecimaal \ 512)
bytBit1024 = (lngDecimaal \ 1024)
bytBit2048 = (lngDecimaal \ 2048)

txtBit1.Text = (lngDecimaal - 1 * bytBit1)
txtBit2.Text = (lngDecimaal - 2 * bytBit2)
txtBit4.Text = (lngDecimaal - 4 * bytBit4)
txtBit8.Text = (lngDecimaal - 8 * bytBit8)
txtBit16.Text = (lngDecimaal - 16 * bytBit16)
txtBit32.Text = (lngDecimaal - 32 * bytBit32)
txtBit64.Text = (lngDecimaal - 64 * bytBit64)
txtBit128.Text = (lngDecimaal - 128 * bytBit128)
txtBit256.Text = (lngDecimaal - 256 * bytBit256)
txtBit512.Text = (lngDecimaal - 512 * bytBit512)
txtBit1024.Text = (lngDecimaal - 1024 * bytBit1024)
txtBit2048.Text = (lngDecimaal - 2048 * bytBit2048)

End Sub

Kan iemand me hierbij helpen? Moet ik maandag voor sk00l afhebben en ben er al een paar dagen mee bezig.

Het eigenlijke probleem is dat de textboxen die de binaire uitkomst moeten leveren 0 blijven.

Anyone plz?


Het 2e probleem:
Ik mag geen do-while of if-then etc. statements gebruiken, extra uitdaging vanuit school :(

Verwijderd

dit ziet er eerder uit als vb dan vbs? probeer het verder eens met de and operator (nee nee de oplossing ga ik echt niet geven) die werkt denk ik 'n stuk handiger ;)

Verwijderd

Zet er nou niet bij dat het voor school is :P

Vond hier nog iets op me PC. Je kunt even kijken:
http://home.planet.nl/~sand0731/getal.rar

[ Voor 52% gewijzigd door Verwijderd op 12-01-2003 22:23 ]


Verwijderd

Verwijderd schreef op 12 January 2003 @ 22:18:
Zet er nou niet bij dat het voor school is :P
Nee dat hadden we anders niet door gehad zeker >:)

Verwijderd

Topicstarter
Wat maakt dat jullie uit mannen, het is simpelweg zo dat ik al veel te lang op dat stuk vastloop, en als jullie iets niet willen vertellen omdat het voor school is... nou... :)

Nee, ik wil geen geheel antwoord, als iemand een fout ziet en mij erop kan wijzen ben ik al blij zat.

Verwijderd

http://home.planet.nl/~sand0731/getal.rar

Vond dit nog ergens op me PC. Ik heb het niet zelf gemaakt maarja, kijk maar wat je er aan hebt.

Verwijderd

Topicstarter
ik zal even kijken, thnx alvast!

Verwijderd

Dat maakt inzoverre uit dat als we je direct de oplossing geven jij 't knipt en plakt en er dus geen zak van leert.

En je moet de and operator gebruiken (2e keer)

Verwijderd

Topicstarter
yarvieh, no offence, maar lees de laatste 2 zinnen van mijn post ;)

Verwijderd

Topicstarter
Cristal, bedankt voor je hulp. Maar ook jouw programma maakt gebruik van statements :|

[ Voor 3% gewijzigd door Verwijderd op 12-01-2003 22:34 ]


Verwijderd

Oh, sorry niet op gelet. Zo ff ge-rared en op ftp gezet. Ik start VB maar even op en kijk voor je.

Verwijderd

Topicstarter
bedankt

Verwijderd

Verwijderd schreef op 12 januari 2003 @ 22:29:
yarvieh, no offence, maar lees de laatste 2 zinnen van mijn post ;)
no offence maar ik zie daar niets over and staan? wel over if en do while's ect..

Verwijderd

http://www.google.nl/sear...nl&btnG=Google+zoeken&lr=

Zocht nog even op google.com en kwam leuke dingen tegen. Kijk er even. Messchien vind je een antwoord.

Ik start VB op en krijg de ene fout meldin naar de anderen. Heb ik weer. Re-instal

[ Voor 4% gewijzigd door Verwijderd op 12-01-2003 23:42 ]


Verwijderd

Topicstarter
hmm, sorry, moet etc zijn, ik mag zulke statements niet gebruiken, ik moet het in clean vb doen :\

Dus gewoon met reken opdrachten, Ik heb het nu zo voor mezelf in gedachten:

Je moet een decimaal getal omrekenen naar binair, dit doe je dus door te kijken of de desbetreffende positie in het binaire stelsel 1 keer in het decimale getal past, dus bij het decimale getal 4, zul je 100 krijgen.

Dus
bytBit4 = (lngDecimaal \ 4) 'komt dus 1 of 0 uit (wel even uitkijken met te grote getallen)
txtBit4.text = (lngDecimaal \ 4 * bytBit4) 'om zeker te gaan dat het ook erin past

Verwijderd

Topicstarter
ik kijk even cristal...

Verwijderd

and is 'n reken operator.......

Verwijderd

Topicstarter
WOEIIII, is me gelukt!!!

Hier de source:

Dim lngDecimaal As Long
Dim bytBit1 As Byte
Dim bytBit2 As Byte
Dim bytBit4 As Byte
Dim bytBit8 As Byte
Dim bytBit16 As Byte
Dim bytBit32 As Byte
Dim bytBit64 As Byte
Dim bytBit128 As Byte
Dim bytBit256 As Byte
Dim bytBit512 As Byte
Dim bytBit1024 As Byte
Dim bytBit2048 As Byte
Dim bytBit4096 As Byte


Private Sub cmdBereken_Click()

lngDecimaal = Val(txtDecimaal.Text)

bytBit2048 = (lngDecimaal \ 2048)
lngDecimaal = lngDecimaal - (2048 * bytBit2048)
txtBit2048 = bytBit2048

bytBit1024 = (lngDecimaal \ 1024)
lngDecimaal = lngDecimaal - (1024 * bytBit1024)
txtBit1024 = bytBit1024

bytBit512 = (lngDecimaal \ 512)
lngDecimaal = lngDecimaal - (512 * bytBit512)
txtBit512 = bytBit512

bytBit256 = (lngDecimaal \ 256)
lngDecimaal = lngDecimaal - (256 * bytBit256)
txtBit256 = bytBit256

bytBit128 = (lngDecimaal \ 128)
lngDecimaal = lngDecimaal - (128 * bytBit128)
txtBit128 = bytBit128

bytBit64 = (lngDecimaal \ 64)
lngDecimaal = lngDecimaal - (64 * bytBit64)
txtBit64 = bytBit64

bytBit32 = (lngDecimaal \ 32)
lngDecimaal = lngDecimaal - (32 * bytBit32)
txtBit32 = bytBit32

bytBit16 = (lngDecimaal \ 16)
lngDecimaal = lngDecimaal - (16 * bytBit16)
txtBit16 = bytBit16

bytBit8 = (lngDecimaal \ 8)
lngDecimaal = lngDecimaal - (8 * bytBit8)
txtBit8 = bytBit8

bytBit4 = (lngDecimaal \ 4)
lngDecimaal = lngDecimaal - (4 * bytBit4)
txtBit4 = bytBit4

bytBit2 = (lngDecimaal \ 2)
lngDecimaal = lngDecimaal - (2 * bytBit2)
txtBit2 = bytBit2

bytBit1 = (lngDecimaal \ 1)
lngDecimaal = lngDecimaal - (1 * bytBit1)
txtBit1 = bytBit1


End Sub


  • Syndicate
  • Registratie: Januari 2002
  • Laatst online: 10-07 10:18
Haha lol dat 8) smiley dr tusse :P

Verwijderd

Topicstarter
achja :)

Verwijderd

hey,kent vbs array's. Zo ja, dan kan ik vast en heelstuk kortere code voor je neerzetten. Ik wacht nog 10 min op je antwoord, dan maak ik het wel even voor je.

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 09:40

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op 13 januari 2003 @ 00:18:
hey,kent vbs array's. Zo ja, dan kan ik vast en heelstuk kortere code voor je neerzetten. Ik wacht nog 10 min op je antwoord, dan maak ik het wel even voor je.
Verwijderd schreef op 12 January 2003 @ 22:14:

Het 2e probleem:
Ik mag geen do-while of if-then etc. statements gebruiken, extra uitdaging vanuit school :(
Ik ben heel benieuwd hoe je dit met arrays gaat oplossen dan.. :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

nou,das simpel. Ik ga het eventjs proberen. Ik heb eigenlijk nognooit vbs gedaan dus ik hoop dat het lukt:) btw, hoe maak je daar een textbox:>

Verwijderd

Ah, ik heb al een textbox:> Het gaat nog lukken ook!

Verwijderd

[rml][ VB6] byte in zijn bits opdelen[/rml] staat ook het een (1) en ander (0) ;)

Verwijderd

ik zal mijn and oplossing dan ook maar even posten
Visual Basic:
1
2
3
4
    txtbit1.text= (getal And 1) / 1
    txtbit2.text= (getal And 2) / 2
    txtbit3.text= (getal And 4) / 4
    ect..

Verwijderd

Naja.Ik heb ruzie met vbs. Doe eens ietsleuk met de int functie, die is er niet voor niets. anders wat dacht je van :
getal and (2^positie)

dat werkt. en alsje daardoor nix in de textbox ziet, probeer dan dit:
string$((getal and (2^positie)) + 48)

en als dat niet werkt:
iif(getal and (2^positie), "1", "0")

succes

Verwijderd

Topicstarter
Hmm, slecht gelezen, maar wat wil je na 250 topics bekijken ;)

Iig allemaal bedankt voor de hulp.

Verwijderd

Topicstarter
Zoals ja kan zien zit hier

txtBit4.text = (lngDecimaal \ 4 * bytBit4)

de fout in.
ik wil de uitkomst meteen in een textbox stoppen, mar dat werkt niet helemaal :D

Verwijderd

Das moo, dat het lukt. Kun je de html code meelen naar jeroen___paul@hotmail.com. Das dus met drie underscores 8) Ik kan nl geen vbs, dus ik wil wel ff zien hoe je het gedaan hebt. (wel domme opdrach hoor, van school, eenfor gaat toch veel makkelijker?
Pagina: 1