Positiven Wert in negativen "wandeln"

Hallo zusammen,
in Sachen Arduino bin ich (fast) absoluter Anfänger und hänge leider auch
schon bei meinem ersten Projekt fest.
Ich würde mich freuen wenn mir jemand hierbei mit einem Tipp weiter helfen
könnte.

Ich habe in einer Variable, vom Typ float, einen positiven Wert ( z.B. 5.00 )
gespeichert.

Diesen Wert möchte ich nun gerne in einen negativen ( -5.00 ) umwandeln.

Alle meine Versuche, wie z.B. Wert1 = Wert1 -=(Wert1*=2); sind leider klaglos
gescheitert...

Vermutlich bin ich total auf dem Holzweg, komme aber leider nicht auf die
Lösung. Könntet Ihr mir bitte mit einem Tipp weiter helfen ?

Viele Grüße
Thomas

wert1 *= -1.0;

Gruß Tommy

float wert = 1.234;
const int negativ=-1;
void setup()
{
  Serial.begin(115200);
  Serial.println(F("Start..."));
  Serial.print(F("Wert: "));
  Serial.println(wert);
  Serial.print(F("Negativ-Wert: "));
  Serial.print(wert*negativ);
}

void loop()
{
}

Tommy war schneller ;(

Hey,

das ging aber fix !
SUPER -vielen Dank, Ihr glaubt nicht wie lange ich da schon herum probiert habe :joy:

VG
Thomas

Och...
Wir haben auch mal angefangen. Und da sind einige Stunden weg gegangen, nur um Begrifflichkeiten...

Das verstehe ich inzwischen nur zu gut...

Darum frag - es findet sich (eigentlich) immer wer, der hilft.
Manchmal ist es so einfach, aber eigene Betriebsblindheit ist mehr frustrierend als manch Antwort hier ... - Na denne... Herzlich willkommen und viel Spass mit Arduino.

Eine Multiplikation ist nicht nötig, schließlich gibt es ja schon extra einen Operator dafür.

float positiverWert = 3.14;
float negativerWert = -positiverWert;

-----

Ein Liebhaber von Funktionen könnte auf eine solche Idee kommen.

template <typename T> T negate(const T &value)
{
  if(is_unsigned<T>()) Serial.println("Warnung: Vorzeichenlose Werte koennen nicht negiert werden");
  return -value;
}

Sowas wie "mit doppeltem Boden", muss man sich nur die TypeTraits für beschaffen, bzw. die 32Bitter habe diese schon dabei.

-----

Der nächste konsequente Schritt/Variante ist hier beschrieben:
https://www.cplusplus.com/reference/functional/negate/

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.