Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 2 von 4 ErsteErste 1234 LetzteLetzte
Ergebnis 11 bis 20 von 33

Thema: Bytes in Datenstruktur erkennen

  1. #11
    Registriert seit
    03.04.2008
    Beiträge
    6.200
    Danke
    237
    Erhielt 815 Danke für 689 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Die Lösung gibt es bei: http://www.hausaufgabenlösenistdoofd...erdummrum.mist

    Junge du kannst die Frage nicht klar formulieren, wie willst du dann die Aufgabe lösen?
    Wenn du nur eine Struktur anlegen musst, dann ist es doch easy.
    Doch ich habe deine Frage? so verstanden, dass du nicht weißt wie groß deine Struktur ist.


    bike
    "Any fool can write code that a computer can understand.
    Good programmers write code that humans can understand."
    --Martin Fowler

  2. #12
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.716
    Danke
    398
    Erhielt 2.399 Danke für 1.999 Beiträge

    Standard

    Hallo,
    wenn es dir rein um die Größe der Struktur geht könntest du es so machen :
    Du lädst dir den Pointer auf die Struktur. Dann lädst du dir den Pointer der Variablen, die auf die Struktur folgt (es muss da dann natürlich wenigstens eine geben). Die beiden Pointer maskierst und subtrahierst du - dann hast du die Bit-Breite der Struktur (da Pointer auf der Bit-Adresse arbeiten). Dieses Ergebnis dann noch durch 8 dividiert und du hast die Größe der Struktur in Byte ...

    Gruß
    Larry

  3. #13
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.618
    Danke
    776
    Erhielt 646 Danke für 492 Beiträge

    Standard

    Wenn er doch die Adresse der Struktur hat. Und die Adresse des nachfolgenden Elements. Dann weiss er doch schon die Grösse der Struktur. Wozu dann noch das Pointergeschupse?

  4. #14
    chipchap ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    08.03.2014
    Beiträge
    501
    Danke
    11
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Danke für die Antwort. Sorry das ich evtl. so ungeau schreibe aber ich habe es eigendlich so geschrieben wie es auch im Lehrbuch steht. Deswegen versteh ich es vielleicht auch nicht .
    Da ich auch Anfänger bin weiß jetzt auch nicht was in dem Fall ein Pointer ist.

  5. #15
    Registriert seit
    03.04.2008
    Beiträge
    6.200
    Danke
    237
    Erhielt 815 Danke für 689 Beiträge

    Standard

    Pointner = Zeiger.
    Das habt ihr wohl noch nicht gehabt.
    Die Struktur eines Feldes musst du erstellen.
    Dann diese vervielfälltigen und du hast die Start- und Endadresse auf die zugegriffen wird.


    bike
    "Any fool can write code that a computer can understand.
    Good programmers write code that humans can understand."
    --Martin Fowler

  6. #16
    Registriert seit
    22.11.2007
    Beiträge
    731
    Danke
    6
    Erhielt 89 Danke für 62 Beiträge

    Standard

    @chipchap

    ZUERST: Was für ein System hast du? SPS, Step7, TIA, gar kein Programmiersystem - AUKLÄRUNG JETZT

    ich formuliere die Frage mal neu und du sagst uns ob es zu deiner Aufgabenstellunge passt:


    Frage: Zu einer gegebenen Struktur soll ohne Programmierung die Bytegröße ermittelt werden
    Ergebnis: Damit du lernst wie ein Datenblock aufgebaut ist
    PASST das so in etwa?


    Wenn ja sind für dich folgenden Punkte relevant:
    -wieviel Bits brauchen deine Typen
    -Alignment(Anordnung) und Padding(Füllbytes) der Typen


    oder geht es echt nur um einen Strukt mit n Bytes?
    Geändert von LowLevelMahn (25.03.2014 um 10:11 Uhr)

  7. #17
    chipchap ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    08.03.2014
    Beiträge
    501
    Danke
    11
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Es ist Step 7.
    Relevant ist: wieviele Bits brauchen meine Typen

  8. #18
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.618
    Danke
    776
    Erhielt 646 Danke für 492 Beiträge

    Standard

    Die Antwort ist unzureichend.

  9. #19
    Registriert seit
    22.11.2007
    Beiträge
    731
    Danke
    6
    Erhielt 89 Danke für 62 Beiträge

    Standard

    Groesse, Alignment und Padding immer in Bits

    Alingment und Padding - wenn die Bitaddresse nicht durch die Zahl teilbar ist dann auffüllen bis Teilbar

    --
    [Alignment]
    type-size
    [Padding]
    --

    Bool
    Groesse: 1 Bit
    Alignment: 1
    Padding: 1

    Byte
    Groesse: 8 Bit (korrigiert auf 8 Bits - Danke vollmi)
    Alignment: 8
    Padding: 1

    Word
    Groesse: 16 Bit
    Alignment: 16
    Padding: 1

    Struct
    Groesse: Bitgroesse der Kinder
    Alignment: 16
    Padding: 16

    Ergibt bei dir

    Struct ein_struct
    Byte ein_byte

    Code:
    byteoffset/bitoffset
    
    
    0/0
          [struct.alignemnt = 16 ist hier erfuellt: 0 bits fuellung]
    0/0   struct mein_struct
            [byte.alignment = 8 ist hier erfuellt: 0 bits fuellung]
    0/0     byte mein_byte
            [byte.padding = 1 ist hier erfuellt: 0 bit fuellung]
    1/8   [struct.padding = 16 ist nicht erfuellt also auffuellen auf 16 bits]
    2/16  end
    Ergibt 2 Bytes für deinen Strukt

    Jetzt kannst du weiter Fragen stellen
    Geändert von LowLevelMahn (25.03.2014 um 10:45 Uhr)

  10. #20
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.618
    Danke
    776
    Erhielt 646 Danke für 492 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    psst. Bytegrösse

Ähnliche Themen

  1. Fehler interne Datenstruktur
    Von Bensen83 im Forum Simatic
    Antworten: 12
    Letzter Beitrag: 10.06.2013, 01:24
  2. Sensor/Wert/Zeitpunkt - Datenstruktur S7?
    Von derAndere im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 12.10.2010, 18:46
  3. LibNoDave und S7Online Datenstruktur....
    Von Jochen Kühner im Forum Hochsprachen - OPC
    Antworten: 9
    Letzter Beitrag: 31.05.2010, 22:43
  4. Antworten: 9
    Letzter Beitrag: 25.05.2010, 18:31
  5. Fehler in der internen Datenstruktur
    Von knubbl im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 06.04.2009, 09:31

Lesezeichen

Berechtigungen

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