<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Vorzeichen einer Variable ändern]]></title><description><![CDATA[<p>Hallo,<br />
ich habe eine float variable. Je nach Situation ist diese Variable entweder positiv oder negativ. Wie kann ich das Vorzeichen dieser Variable nun ändern, so dass es je nach Wunsch immer positiv oder negativ ist. ich habe auch schon an eine if abfrage gedacht aber es muss doch einen Befehl dazu geben. Wenn nicht werde ich es notfalls auch mit einer if Abfrage machen.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/200934/vorzeichen-einer-variable-ändern</link><generator>RSS for Node</generator><lastBuildDate>Mon, 05 Oct 2026 11:38:22 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/200934.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 21 Dec 2007 16:54:08 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Vorzeichen einer Variable ändern on Fri, 21 Dec 2007 16:54:08 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich habe eine float variable. Je nach Situation ist diese Variable entweder positiv oder negativ. Wie kann ich das Vorzeichen dieser Variable nun ändern, so dass es je nach Wunsch immer positiv oder negativ ist. ich habe auch schon an eine if abfrage gedacht aber es muss doch einen Befehl dazu geben. Wenn nicht werde ich es notfalls auch mit einer if Abfrage machen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1424536</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1424536</guid><dc:creator><![CDATA[gm1988]]></dc:creator><pubDate>Fri, 21 Dec 2007 16:54:08 GMT</pubDate></item><item><title><![CDATA[Reply to Vorzeichen einer Variable ändern on Fri, 21 Dec 2007 17:00:59 GMT]]></title><description><![CDATA[<p>Versteh ich das richtig, du hast eine Variable, die irgendein Vorzeichen hat. Und jetzt ist, unabhängig von diesem Vorzeichen, aber abhängig von irgendwelchen anderen Bedingungen, mal die negative, mal die positive Version gefragt?</p>
<pre><code class="language-cpp">#include &lt;cmath&gt;
...
float x = ... // Vorzeichen unbekannt und egal
float y;
if (soll negativ sein)
  y = -std::abs(x); // abs ist die Betragsfunktion
else
  y = std::abs(x);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1424540</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1424540</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Fri, 21 Dec 2007 17:00:59 GMT</pubDate></item><item><title><![CDATA[Reply to Vorzeichen einer Variable ändern on Fri, 21 Dec 2007 17:11:22 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">float var(var &gt; 0.0 ? -var : var);
</code></pre>
<p>Für negative Werte und äquivalent für positive Zahlen ... was willst de da ne große Funktion von machen? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_tongue"
      title=":P"
      alt="😛"
    /></p>
<pre><code class="language-cpp">inline float negate(float const&amp; data){ return (data &gt; 0.0f ? -data : data); }
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1424542</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1424542</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Fri, 21 Dec 2007 17:11:22 GMT</pubDate></item><item><title><![CDATA[Reply to Vorzeichen einer Variable ändern on Fri, 21 Dec 2007 17:14:53 GMT]]></title><description><![CDATA[<p>Schreib dir lieber zwei Funktionen die deutlich machen was die ganze Aktion überhaupt soll:</p>
<pre><code class="language-cpp">template &lt;typename T&gt; inline T make_pos( T const&amp; t ) { return t &lt; 0 ? -t : t; }
template &lt;typename T&gt; inline T make_neg( T const&amp; t ) { return t &lt; 0 ? t : -t; }
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1424543</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1424543</guid><dc:creator><![CDATA[finix]]></dc:creator><pubDate>Fri, 21 Dec 2007 17:14:53 GMT</pubDate></item><item><title><![CDATA[Reply to Vorzeichen einer Variable ändern on Fri, 21 Dec 2007 17:20:23 GMT]]></title><description><![CDATA[<p>(D)Evil schrieb:</p>
<blockquote>
<p>was willst de da ne große Funktion von machen? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_tongue"
      title=":P"
      alt="😛"
    /></p>
</blockquote>
<p>Warum um Himmels willen sollte man <em>keine</em> Funktion draus machen? Die Funktion hat nahezu nur Vorteile.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1424545</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1424545</guid><dc:creator><![CDATA[finix]]></dc:creator><pubDate>Fri, 21 Dec 2007 17:20:23 GMT</pubDate></item><item><title><![CDATA[Reply to Vorzeichen einer Variable ändern on Fri, 21 Dec 2007 17:21:48 GMT]]></title><description><![CDATA[<p>Ich bezweifle, dass make_neg irgendeinen Vorteil gegenüber -abs hat.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1424546</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1424546</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Fri, 21 Dec 2007 17:21:48 GMT</pubDate></item><item><title><![CDATA[Reply to Vorzeichen einer Variable ändern on Fri, 21 Dec 2007 17:43:31 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">y=-sqrt(pow(x,2));
</code></pre>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1424550</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1424550</guid><dc:creator><![CDATA[kennerdeszeugs]]></dc:creator><pubDate>Fri, 21 Dec 2007 17:43:31 GMT</pubDate></item><item><title><![CDATA[Reply to Vorzeichen einer Variable ändern on Fri, 21 Dec 2007 17:51:11 GMT]]></title><description><![CDATA[<p>Bashar schrieb:</p>
<blockquote>
<p>Ich bezweifle, dass make_neg irgendeinen Vorteil gegenüber -abs hat.</p>
</blockquote>
<p>Es liest sich wesentlich deutlicher als <code>-std::abs</code> .</p>
<p>Darüber hinaus, auch wenn man diese Anwendungsfälle aus dem OP höchstens erahnen kann: man kann bestehende Datenmengen wesentlich simpler via <code>std::transform</code> bearbeiten, und statt <code>if else</code> einen Funktionszeiger als Input bzw. Outputfilter verwenden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1424554</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1424554</guid><dc:creator><![CDATA[finix]]></dc:creator><pubDate>Fri, 21 Dec 2007 17:51:11 GMT</pubDate></item><item><title><![CDATA[Reply to Vorzeichen einer Variable ändern on Fri, 21 Dec 2007 17:51:15 GMT]]></title><description><![CDATA[<p>Jo ... :xmas2: Performance pur!!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1424555</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1424555</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Fri, 21 Dec 2007 17:51:15 GMT</pubDate></item><item><title><![CDATA[Reply to Vorzeichen einer Variable ändern on Fri, 21 Dec 2007 18:28:46 GMT]]></title><description><![CDATA[<p>finix schrieb:</p>
<blockquote>
<p>Bashar schrieb:</p>
<blockquote>
<p>Ich bezweifle, dass make_neg irgendeinen Vorteil gegenüber -abs hat.</p>
</blockquote>
<p>Es liest sich wesentlich deutlicher als <code>-std::abs</code> .</p>
</blockquote>
<p>Ja klar, irgendwelche privaten Hilfsfunktionen sind besser lesbar als Standardfunktionen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1424566</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1424566</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Fri, 21 Dec 2007 18:28:46 GMT</pubDate></item><item><title><![CDATA[Reply to Vorzeichen einer Variable ändern on Fri, 21 Dec 2007 18:55:14 GMT]]></title><description><![CDATA[<p>Bashar schrieb:</p>
<blockquote>
<p>Ja klar, irgendwelche privaten Hilfsfunktionen sind besser lesbar als Standardfunktionen.</p>
</blockquote>
<p>Ich meinte zwar ursprünglich vor allem (D)Evil, aber, ja: eine <em>prägnant benannte, private Hilfsfunktion</em> lässt sich leichter lesen als ein <em>equivalenter Ausdruck der nur Standardfunktionen enhält</em>.</p>
<p>Wenn dieser Ausdruck wirklich nur an einer einzigen Stelle im Programm vorkommt, dann würde ich wohl auch zu deiner Variante greifen, auch wenn ich hier tendenziell dem ternären Operator den Vorzug gäbe; andernfalls stelle ich mir ganz klar die Funktionen zur Verfügung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1424576</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1424576</guid><dc:creator><![CDATA[finix]]></dc:creator><pubDate>Fri, 21 Dec 2007 18:55:14 GMT</pubDate></item><item><title><![CDATA[Reply to Vorzeichen einer Variable ändern on Sat, 22 Dec 2007 01:39:58 GMT]]></title><description><![CDATA[<p>finix schrieb:</p>
<blockquote>
<p>Bashar schrieb:</p>
<blockquote>
<p>Ja klar, irgendwelche privaten Hilfsfunktionen sind besser lesbar als Standardfunktionen.</p>
</blockquote>
<p>Ich meinte zwar ursprünglich vor allem (D)Evil, aber, ja: eine <em>prägnant benannte, private Hilfsfunktion</em> lässt sich leichter lesen als ein <em>equivalenter Ausdruck der nur Standardfunktionen enhält</em>.</p>
<p>Wenn dieser Ausdruck wirklich nur an einer einzigen Stelle im Programm vorkommt, dann würde ich wohl auch zu deiner Variante greifen, auch wenn ich hier tendenziell dem ternären Operator den Vorzug gäbe; andernfalls stelle ich mir ganz klar die Funktionen zur Verfügung.</p>
</blockquote>
<p>(rant on)<br />
Also was ist einfacher zu lesen &amp; verstehen, <code>-std::abs(v)</code> oder <code>(v &gt; 0 ? -v : v)</code> ? Hmmm...<br />
Und was ist hier einfacher: <code>std::standard_funktion(v)</code> oder <code>selbstbenannte_funktion_mit_komischem_namen_der_finix_logisch_vorkommt_aber_nix_aussagt(v)</code> ? Hmmm.</p>
<p>Nur weil du denkst dass &quot;make_neg&quot; eine &quot;prägnant benannte, private Hilfsfunktion&quot; ist heisst das noch lange nicht dass andere das auch denken, und auf den ersten Blick verstehen was &quot;make_neg&quot; heissen soll.<br />
Ich kenne Code der von Leuten geschrieben wurde die (vermute ich mal) ähnlich denken wie du, und ich hasse es solchen Code zu lesen.</p>
<p>Nenn die Funktion wenigstens &quot;negative_absolute_value&quot; oder sowas, wenn du schon umbedingt eine (IMO sinnfreie) private template Hilfsfunktion verwenden willst. Und implementiere sie bitte über <code>-std::abs(v)</code> , kein Grund kryptisch zu werden für sowas einfaches.<br />
(rant off)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1424689</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1424689</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Sat, 22 Dec 2007 01:39:58 GMT</pubDate></item><item><title><![CDATA[Reply to Vorzeichen einer Variable ändern on Sat, 22 Dec 2007 14:26:04 GMT]]></title><description><![CDATA[<p>Hallo,<br />
es gibt eine Standardfunktion für minus, operator-, schreibt man meist schlicht -. Es gibt eine Standardfunktion für den Absolutwert std::abs. Damit erscheint mir -std::abs eigentlich eine recht gute Bezeichnung zu sein. Und wenn mir das tatsächlich zu kompliziert wäre, dann würde ich mich wohl an den Namen der Standardfunktionen orientieren und neg_abs oder ähnliches verwenden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1424822</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1424822</guid><dc:creator><![CDATA[HumeSikkins]]></dc:creator><pubDate>Sat, 22 Dec 2007 14:26:04 GMT</pubDate></item><item><title><![CDATA[Reply to Vorzeichen einer Variable ändern on Sun, 23 Dec 2007 20:45:16 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<p>(rant on)</p>
</blockquote>
<p>Auf sowas muss ich glaube ich nicht unbedingt antworten <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1425366</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1425366</guid><dc:creator><![CDATA[finix]]></dc:creator><pubDate>Sun, 23 Dec 2007 20:45:16 GMT</pubDate></item><item><title><![CDATA[Reply to Vorzeichen einer Variable ändern on Sun, 23 Dec 2007 20:58:14 GMT]]></title><description><![CDATA[<p>HumeSikkins schrieb:</p>
<blockquote>
<p>Hallo,<br />
es gibt eine Standardfunktion für minus, operator-, schreibt man meist schlicht -. Es gibt eine Standardfunktion für den Absolutwert std::abs. Damit erscheint mir -std::abs eigentlich eine recht gute Bezeichnung zu sein.</p>
</blockquote>
<p>Das ist für sich allein gestellt sicher richtig.</p>
<p>Allerdings ist <code>-std::abs</code> keine Bezeichnung sondern ein Ausdruck. Er ist keineswegs lesbarer als <code>neg_abs</code> und lässt sich nicht speichern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1425368</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1425368</guid><dc:creator><![CDATA[finix]]></dc:creator><pubDate>Sun, 23 Dec 2007 20:58:14 GMT</pubDate></item></channel></rss>