Arduino - Mathematische OperatorenMit mathematischen Operatoren werden arithmetische Berechnungen ausgeführt und
logische Entscheidungen getroffen.
Hier eine Übersicht mit einigen Beispielen:
Addition / Inkrementieren
+ : Plus, repräsentiert Addition, addiert zwei Werte, A = B + C
++ : Inkrementieren, addiert zu einer Variable 1 hinzu, A++
Beispiel:
// ----------------------------------------------------------
// Arduino - Addition / Inkrementieren
// Als Ergebnis bekommt die Variable Add_Inkr durch Addition 7 + 2 den Wert 9,
// anschließend durch Inkrementieren (+1) den Wert 10.
int Variable1 = 7;
int Variable2 = 2;
int Add_Inkr = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
Add_Inkr = Variable1 + Variable2;
Serial.print ("Ergebnis Addition = ");
Serial.println (Add_Inkr);
Add_Inkr++;
Serial.print ("Ergebnis Inkrementieren = ");
Serial.println (Add_Inkr);
delay (1000);
}
// ----------------------------------------------------------
Subtraktion / Dekrementieren
- : Minus, repräsentiert Subtraktion, zieht von einer Zahl eine andere ab, A = B - C
-- : Dekrementierenn, verkleinert eine Zahl um 1, A--
Multiplikation
* : Multipliziert zwei Werte miteinander, A = B * C
Division
/ : Dividiert den ersten Wert durch den zweiten, A = B / C
Achtung: eine Division durch 0 ist nicht erlaubt.
Modulo
% : Liefert den Rest einer Division, A = B%C
// ----------------------------------------------------------
// Arduino - Modulo
// Rest einer Division
// Achtung: nicht mit dem Wert hinter dem Komma verwechseln.
// Das Ergebnis 8%5 = 3, dagegen 8/5 = 1,6.
int Variable1 = 8;
int Variable2 = 5;
int ModErg = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
ModErg = Variable1%Variable2;
Serial.print ("Das Modulo-Ergebnis = ");
Serial.println (ModErg);
delay (1000);
}
// ----------------------------------------------------------
Absolutwert
abs : Liefert den Absolutwert einer Zahl, A = abs(B)
Quadrat
sq : Liefert den Quadratwert einer Zahl, A = sq(B)
Quadratwurzel
sqrt : Liefert den Quadratwurzel einer Zahl, A = sqrt(B)
Potenz
pow : Liefert den Wert von B hoch C, A = pow(B,C)
Bei B=3 und C=2 liefert pow(B,C) als Ergebnis 9.
Aufrunden
floor : Liefert den größtmöglichen ganzzahligen Wert einer Zahl zurück, der nicht größer ist,
als diese Zahl, A = floor(B)
Abrunden
ceil : Liefert den kleinsten ganzzahligen Wert einer Zahl zurück, der größer ist,
als diese Zahl, A = ceil(B)
Vergleichoperatoren
== : Gleichheit, x==y, x gleich y?
!= : Ungleichheit, x!=y, x ungleich y?
< : Kleiner als, x<y, x kleiner als y?
> : Größer als, x groesser als y?
<= : Kleiner gleich, x<=y, x kleiner oder gleich y?
>= : Größer gleich, x>=y, x grösser oder gleich y?
min(x,y) : Kleinere Zahl von x und y.
max(x,y) : Größere Zahl von x und y.
costrain(x, min, max) : Liefert einen Wert zurück, der innerhalb der min- und max-Grenze liegt.
Boolsche Operatoren
&& : logisches UND, (x==7)&&(y==6), ergibt TRUE, wenn beide Bedingungen erfüllt sind.
|| : logisches ODER, (a==4)||(b==6), ergibt TRUE, wenn mindestens eine der beider Bedingungen erfüllt ist.
! : NICHT, !(x==5), ergibt TRUE, wenn Bedingung FALSE ist oder umgekehrt.
// ----------------------------------------------------------
// Arduino - Logik
bool Variable1 = true;
bool Variable2 = false;
bool BoolErg = false;
void setup() {
Serial.begin(9600);
}
void loop() {
if (Variable1 && Variable2) {
BoolErg = true;
}
Serial.print ("&&-Ergebnis = ");
Serial.println (BoolErg);
BoolErg = false;
if (Variable1 || Variable2) {
BoolErg = true;
}
Serial.print ("||-Ergebnis = ");
Serial.println (BoolErg);
BoolErg = false;
if (!Variable1) {
BoolErg = true;
}
Serial.print ("!-Ergebnis = ");
Serial.println (BoolErg);
BoolErg = false;
delay (1000);
}
// Abfrage bei && ergibt 0 (FALSE).
// Abfrage bei || ergibt 1 (TRUE).
// Abfrage bei ! ergibt 0 (FALSE).
// ----------------------------------------------------------
Google-Suche auf MEINE-SCHALTUNG.de :
|
|