Verständnisfrage C -> Pascal

OP #1118059
Hallo,
ich verstehe leider folgende C Schleife irgenwie nicht;
Ich bleibe bei dem < zwischen den Len's hängen.

// Update number of bits
1
  if ((context->count[0] += ((uint32)inputLen << 3))<((uint32)inputLen << 3))
2
    context->count[1]++;


In Pascal:
1
  if context.count[0] = (context.count[1] + (Len shl 3) ?? (Len shl 3)) then
2
   begin
3
    Inc(context.count[1]);
4
   end;

Danke für Eure Hilfe
Gast #1118075
Sicher bin ich mir nicht.
Es habe es mal kompiliert und es geht ohne warnung - staun.

das < ist wie in pascal ein kleiner als. Das liefert true oder false 
zurück. True müsste dann 1 sein und False 0.

Aber es macht kein sinn. Denn der 1.Teil ist ja immer gleich dem 2.Teil
also könnte man es auch weglassen.

((uint32)inputLen << 3))   <   ((uint32)inputLen << 3))

Bist du dir sicher bei dem Code?
OP #1118109
Danke Maik.
Ist sich jemand sicher ?
Das sind ja zwei Welten zwischen meiner und Maik's Antwort.
Beides lässt sich Compilieren für aber ja zu unterschiedlichen 
Ergebnissen.

Wobei mir Maik's logischer ist.

Ergänzung:

Maiks ist natürlich Richtig, denn = ist ja eine Zuweisung.

Danke allen.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.