Rechnen mit AVR

Gast #1950884
Hallo ich habe nur kurz eine kleine, simple Frage...

Und zwar geht es darum das ich z.b.:

L12 = L1-L2

berechnen will. Nun soll das Ergebnis aber auf jeden Fall IMMER positiv 
sein, egal ob L1 oder L2 größer ist.

Gibt es das irgendeinen Befehl, der das ganze in "Betrag" setzt oder 
kann ich L12 einfach als unsigned int wählen? Damit dürften doch auch 
nur positvie Werte ausgegeben werden oder erhält man dann im Falle einer 
negativen Zahl Mist?

Desweiteren noch ne Frage:

Könnte ich eine if-Schleife so aufbauen?

if((-100<L1<100)&&(-100<L1<100))

...dann tue das!


Danke schonmal im Voraus!

Gruß Sacx
Gast
Okay danke ;) das mit abs scheint mir am einfachsten zu sein.

Die zweite Bedingung bei if sollte eigentlich L2 sein.
Wäre das dann grundsätzlich möglich?
sacx schrieb:

> Die zweite Bedingung bei if sollte eigentlich L2 sein.
> Wäre das dann grundsätzlich möglich?

Grundsätzlich ja. ABer nicht so wie du das geschrieben hast

Ein Vergleichsoperator hat einen linken Operanden und einen rechten 
Operanden. Punkt.
Ein Operand kann nicht gleichzeitig für eine Vergleichsoperation als 
rechter Operand und für einen anderen Vergleichsoperation als rechter 
Teil fungieren.

Aber man kann natürlich die Ergebnisse von 2 Vergleichen mit zb einem 
logischen UND (&&) oder einem logischen ODER (||) miteinander verknüpfen

  if( (-100 < L2) && ( L2 < 100) )


> Versuche es mal mit

einem C-Buch.
Ganz dringend!

Denn das was du geschrieben hast

   if( -100 < L2 < 100 )

ist nämlich syntaktisch richtiges C. Das ist kein Syntaxerror und dieses 
Geschriebene hat tatsächlich auch eine Bedeutung. Aber nicht die, die du 
ihm beimisst, sondern es macht etwas ganz anderes als du vermutest.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 15 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.