Toon posts:

[VB.NET] Fixed length binary

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben een beginnende programmeur (oftwel keiharde noob) en om mezelf eens zover te krijgen een programmaatje te schrijven ben ik aan de sleg gegaan met een simpel programmaatje wat een tabel voor me maakt (ergens anders weer voor nodig). Deze tabel moet bestaan uit bits met een door mij te specificeren dimensie aan de hand van een bepaalde bitreeks-lengte die dan in alle mogelijkheden terug te vinden is in die tabel.

Als volgt:

Eerst geef ik een getal voor de bitreeks lengte (bijvoorbeeld 8).
Daardoor krijg ik wiskundig gezien een tabel die 16 bij 16 moet zijn om alle coordinaten neer te kunnen zetten zonder verlies te maken (4 bits voor de x en 4 bits voor de y waarde wat resulteert in een coordinaat van 8 bits)

De cellen van de tabel moeten bestaan uit een reeks 1-en en 0-en die zo opgedeeld is dat ik alle 2^8 mogelijkheden van de 8bit reeks terug kan vinden in die tabel.


De werking is dan dat ik een bestand kan omzetten in bits en per 8 bits de reeks kan vervangen met de coordinaten uit de tabel (een heeeeel simpel encryptie programmaatje). Dus alle mogelijkheden die een 8bit reeks kan hebben moet in die tabel staan.


Een tabel maken is te moeilijk dus heb ik als omweg aan de hand van die initiele bitlengte (op basis waarvan ik dus steeds codeer) een bitreeks nodig van
(2^(bitlengte/2))^2.

Deze laat ik dan in de loop steeds eentje bijtellen waarbij er gecontroleerd wordt hoeveel van die 8 bit-reeksen terug te vinden is in mijn tabel/binaire getal.

Ik moet dus weten hoe ik een fixed length variabele declareer van (in het geval van een bitreeks van 8) 256 tekens lang in bits...

In VB.Net heb je wel VB6.FixedLengthString(stringlength) als class maar dat is voor mijn doeleinden volgens mij niet toereikend.

Ik hoop dat iemand een ideetje heeft, alvast bedankt!

  • Domokoen
  • Registratie: Januari 2003
  • Laatst online: 11:01
Een array misschien, die je indexeert met het 8-bits teken (0-255)? Dan kan je de waarde erin stoppen.

  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 21-05 14:59

pjvandesande

GC.Collect(head);

Aan een byte array heb je toch genoeg.. of snap ik het even niet meer? :?

Verwijderd

Topicstarter
Een byte array dus. Dan zal ik waarschijnlijk een workaround moeten maken om hem te laten tellen (ik neem aan dat de waarden in de array niet afhankelijk van elkaar kjunnen gemaakt worden met een bestaande functie). Want stel die array bestaat uit (bijvoorbeeld)

0 0
1 0
2 0
3 0
4 0
5 0

Dan moet hij per cycle binair doortellen: 000000, 000001, 000010 000011 etc. etc.

(alleen dan een lengte van bijvoorbeeld 256 cijfers lang.