2016-06-30 9 views
0

Ich bin auf der Suche nach einer Möglichkeit, ein Binär-Array in Vb.net durch Binärzahlen zu füllen. Ich füllte die Array-Zeile für Zeile, aber ich brauche das Array zu füllen, indem sie eine SchleifeErzeugen eines binären Arrays in vb.net?

DayArray(0) = "000" 
DayArray(1) = "001" 
DayArray(2) = "010" 
DayArray(3) = "011" 
DayArray(4) = "100" 
DayArray(5) = "101" 
DayArray(6) = "110" 
DayArray(7) = "111" 

Jede Idee, mit bitte ??

+1

Was Sie dort haben, ist eine Reihe von String .. Vielleicht suchen Sie nach einem [BitArray] (https://msdn.microsoft.com/en-us/library/system.collections.bitarray (v = vs .110) .aspx)? Oder werfen Sie einen Blick auf [this] (http://stackoverflow.com/questions/4048443/how-to-convert-decimal-number-to-binary-number-with-fixed-bits). –

+0

Können Sie bitte beschreiben, was Sie erreichen möchten? Speichern von "Bit" -Werten in einer Zeichenfolge scheint wie ein Code-Geruch ... –

+0

Liebe Ich muss eine Nummer für die Array-Größe n eingeben, dann muss ich ein Array mit einem Bit beginnend von 0 bis n-1 generieren. Wenn beispielsweise die eingegebene Größe 5 ist, sollte das Array [000,001,010,011,100] lauten. –

Antwort

0

Wie eine Reihe von Strings? Inkrementiere einen Zähler und habe eine Funktion, um diesen int in binäre Zeichenfolge umzuwandeln..Ich glaube, dass ToString das kann ... oder vielleicht die Convert-Klasse - suche nach dem, wo du 'base' zur Verfügung stellst (dh 2 für binär, 16 für Hex usw.). Und anscheinend wollen Sie nur die letzten 3 Ziffern: Verwenden Sie SubString() der String-Klasse.

+0

Danke. Aber ich denke, dass ich es brauche eine Reihe von Bits –

+0

Googeln 'Vb.net Array von Bits' bringt einige gute Ergebnisse: erstens ist über eine Klasse namens BitArray und ist von Microsoft (scheint echt). Sie sagen, Sie wollen ein Array von Bits, aber Sie versuchen, andere Zahlen als 0 oder 1 zu speichern, was ein (binäres) Bit nicht kann. Verwenden Sie einen größeren Datentyp und Bitmanipulationsoperatoren (und, oder), um bestimmte Bits zu erhalten/setzen. Ich wette, dass die Klasse von Microsoft dies für jede Datenlänge tut. – ABuckau

+0

Ich habe Ihren Kommentar erhalten. Ich werde eine Suche nach Byte-Array wie Sie erwähnt haben. Hoffentlich geht es gut damit. Vielen Dank. –

0
Dim DayArr(8) As String 
For b As Integer = 0 To 8 
    DayArr(b) = Convert.ToString(b, 2).PadLeft(3, "0"c) 
Next 

Die Convert.ToString(b, 2) trimmt die führenden Nullen, also müssen wir die PadLeft jede Saite genau drei Zeichen lang zu machen.

+0

Vielen Dank, aber ich brauche die DayArr() als Array von Bits. So dass ich es für die Suche verwenden kann –

+0

Sie haben eine Frage gestellt, und ich habe sie beantwortet. Es klingt, als hättest du nicht die richtige Frage gestellt. Eine Ganzzahl ist einfach ein Array von Bits, und die meisten Sprachen bieten Mechanismen zum Arbeiten mit Ganzzahlen auf der Bit-Ebene. Sie können nach "Logische/Bitweise Operatoren" suchen, um mehr über das Arbeiten mit den einzelnen Bits in einer Ganzzahl zu erfahren, oder Sie könnten das oben erwähnte BitArray verwenden. –

+0

Danke Bert. Ja, du hast absolut recht, es war mein Fehler, dass ich die Frage nicht beschrieben habe. –

Verwandte Themen