Klasse zum speichern und verarbeiten von Bitfolgen

    • VB.NET

    Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von BiedermannS.

      Klasse zum speichern und verarbeiten von Bitfolgen

      Jeder hier kennt Sie wahrscheinlich, die Bitfolge. In der Schule/Ausbildung sieht man sie meistens im Textformat (1001011101001) und in der Programmierung wird diese entweder als Byte oder Enum dargestellt, weil man damit am effizentesten arbeiten kann.

      Aber wenn man Bitfolgen untersuchen bzw. etwas damit testen will oder Ähnliches, gibt es leider keine Klasse, die es einem ermöglicht allgemeine Bitfolgen darzustellen (also 0 und 1 bzw. True und False)
      Darum habe ich mir diese Klasse geschrieben. Sie dient zum Testen von diversen Binären Operationen und Algorithmen auf Binärbasis.

      <Klasse aufgrund der Länge im Anhang>
      Binary.txt

      Die Klasse ist noch nicht 100% fertig, da ich noch die Grundrechnungsarten einbauen möchte, aber man kann gut darauf aufbauen.

      Man kann folgende DatenTypen zu einer Bitfolge Parsen/Konvertieren: String, Integer, Byte, Byte() und Stream
      Die Ausgabe kann durch folgende Typen erfolgen: Bitfolge als String, Integer der Bitfolge als String, Integer, Byte, Byte() und Stream
      SWYgeW91IGNhbiByZWFkIHRoaXMsIHlvdSdyZSBhIGdlZWsgOkQ=

      Weil einfach, einfach zu einfach ist! :D
      Du kennst aber die BitConverter-Klasse und die ganzen Converter-Klassen (wobei man die BitConverter-Klasse hierfür eigentlich nicht braucht)?

      VB.NET-Quellcode

      1. Dim lol As Integer = Convert.ToInt32("1010101110", 2) '2 ist die Basis
      2. Me.Text = Convert.ToString(lol, 2)


      Insofern sollte das Framework schon alles liefern - das von Hand zu Fuß nochmal neu zu machen beweist, dass du es verstanden hast und umsetzten kannst^^

      Edit: Aber der Boolean-Array kann durchaus brauchbar sein. Cool wäre eine extension für String, die es ermöglicht einen Bool-Array einzulesen oder zurückzugeben (zeichen <> 0,1 werden ignoriert).

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „FreakJNS“ ()

      Das die Umwandlung von Binär zu String mit den Standarklassen geht, habe ich zwar schon mal gelesen, aber irgendwie wieder vergessen. Dass soll auch nicht die Hauptaufgabe dieser Klasse sein.
      Eher das Untersuchen von Binären Algorithmen bzw. zum Nachvollziehen was sich bei Bitweisen Operationen tut.

      Die Klasse kann ja einen Stringe in ein Bool-Array bzw. eine List(of Bool) umwandeln. Nämlich indem man bei der Instanzierung einen String übergibt.
      Umgekehrt kann man sich auch wieder den String davon ausgeben lassen.

      VB.NET-Quellcode

      1. Dim bin as new Binary("101000101110101")
      2. MsgBox(bin.ToString)
      3. MsgBox(bin.ToIntegerString)


      Und man kann auch einzelne Bytes, sowie Byte Arrays und Streams Einlesen und binär analysieren bzw. ausgeben lassen.

      VB.NET-Quellcode

      1. Dim bin As New Binary(System.Text.Encoding.ASCII.GetBytes("A"c))
      2. MsgBox(bin.ToString())
      3. MsgBox(bin.ToIntegerString() & vbCrLf & System.Windows.Forms.Keys.A)
      SWYgeW91IGNhbiByZWFkIHRoaXMsIHlvdSdyZSBhIGdlZWsgOkQ=

      Weil einfach, einfach zu einfach ist! :D