- Labornetzteil AliExpress         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 15

Thema: Bytes zerlegen

  1. #1
    Murus
    Gast

    Bytes zerlegen

    Anzeige

    Powerstation Test
    Hallo zusammen,

    ich möchte ein Byte als Abfolge von Nullen und Einsen unter einer Variable speichern. Danach möchte ich die einzelnen Nullen und Einsen in einer For-Schlaufe auslesen und in ein Array ablegen.
    Ich hab versucht, die Variable in einen String zu zerlegen und dann die einzelnen Stellen mit "mid" auslesen, klappt aber net

    Hat jemand einen Tipp parat, wie man das lösen könnte?

    Herzliche Grüsse
    Mario

  2. #2
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Muss aber gehen. Zeig mal' her.

    Ist das eine Fingerübung oder was ist der Zweck ? (ich frag' nur, weil's mr umständlich vorkommt)
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  3. #3
    Murus
    Gast
    Also:
    y=&B11001100

    Z=str(y)
    For i=1 to 8 Step 1
    m = mid(z,i,1)
    b=Val(m)
    X(i)=b
    Next

    So siehts aus und so gehts nicht.

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.04.2005
    Ort
    Aarau
    Alter
    41
    Beiträge
    982

  5. #5
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    However, falsch ist
    Z=str(y) ' ergibt den string "204"
    was du brauchst, ist
    Z=bin(y) ' das gibt 0-er und 1-er
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  6. #6
    Murus
    Gast
    Ah, ok! Und das bin, ist das schon ein String, oder muss noch einer draus gemacht werden?

    Herzliche Grüsse und danke
    Mario

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    12.11.2004
    Ort
    Erlenbach
    Beiträge
    126
    Hallo Murus,

    so geht es:

    Code:
    Y = &B11001100
    M = &B00000001
    
    For I = 1 To 8 Step 1
    B = Y And M                                                 'Inhalt von Y wird mit aktuellem Inhalt von M "UND"-verknüpft
    If B > 0 Then                                               'Wenn Ergebnis in B größer als 0 ist, dann soll B = 1 sein
      B = 1                                                     'Wenn B=0 ist kann es so bleiben
    End If
    X(i) = B                                                    'Der jeweiligen Array-position wird der Inhalt von B (0 oder 1) zugewiesen
    Shift M , Left , 1                                          'Das Abfragebit in M wird um eine Stelle nach links verschoben
    Next
    Viele Grüße
    Michael

  8. #8
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    "Bin" funzt wie "str", also string

    *Tadel* "Help" lesen ! (Es führt kein and'rer Weg nach Küsnacht)

  9. #9
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Aufpassen, Männer ! Je nach methode ist die Zieltabelle von
    MSB-> LSB oder
    LSB-> MSB
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  10. #10
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    12.11.2004
    Ort
    Erlenbach
    Beiträge
    126
    Hallo PicNick,

    dann halt anders herum:

    Code:
    Y = &B11001100
    M = &B10000000
    
    For I = 1 To 8 Step 1
    B = Y And M                                                 'Inhalt von Y wird mit aktuellem Inhalt von M "UND"-verknüpft
    If B > 0 Then                                               'Wenn Ergebnis in B größer als 0 ist, dann soll B = 1 sein
      B = 1                                                     'Wenn B=0 ist kann es so bleiben
    End If
    X(i) = B                                                    'Der jeweiligen Array-position wird der Inhalt von B (0 oder 1) zugewiesen
    Shift M , Right , 1                                          'Das Abfragebit in M wird um eine Stelle nach rechts verschoben
    Next
    Viele Grüße
    Michael

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen