<?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[Vergleichoperator(==) Laufzeit abhängig vom datentyp?]]></title><description><![CDATA[<p>Hi ihr Freaks <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Ich habe mal eine ganz einfache Frage an euch.<br />
Wenn ich einen Zahlvergleich mache, also if(i==j) dann ist doch die Laufzeit des Vergleiches nur abhängig vom datentypen oder auch von der größe der Zahlen?<br />
Also je mehr bits der Datentyp hat, desto länger dauert der Vergleich? Wie schaut ein Zahlenvergleich in Assembler aus? Man vergleicht doch letztendlich jede Bitstelle miteinander oder?<br />
würde es daher sinn machen für riesige Schleifen eine uint_32 Zahl mit dem Wert FFFF FFFF als -1 (zweierkomplement) zu interpretieren und sie mit der anderen Zahl zu vergleichen, anstatt die positive Zahl herzunehmen? Habe ich dadurch Zeit gewonnen? Ich denke nicht oder? Es sein denn, ich nehme für die -1 einen anderen datentypen...<br />
Eine Zusatzfrage: Wieso dauert der Vergleich von Strings so viel länger, als der vergleich von Zahlen?<br />
Viele Grüße<br />
CoraD</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/254071/vergleichoperator-laufzeit-abhängig-vom-datentyp</link><generator>RSS for Node</generator><lastBuildDate>Sun, 13 Sep 2026 02:56:10 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/254071.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 11 Nov 2009 11:34:47 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Vergleichoperator(==) Laufzeit abhängig vom datentyp? on Wed, 11 Nov 2009 11:34:47 GMT]]></title><description><![CDATA[<p>Hi ihr Freaks <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Ich habe mal eine ganz einfache Frage an euch.<br />
Wenn ich einen Zahlvergleich mache, also if(i==j) dann ist doch die Laufzeit des Vergleiches nur abhängig vom datentypen oder auch von der größe der Zahlen?<br />
Also je mehr bits der Datentyp hat, desto länger dauert der Vergleich? Wie schaut ein Zahlenvergleich in Assembler aus? Man vergleicht doch letztendlich jede Bitstelle miteinander oder?<br />
würde es daher sinn machen für riesige Schleifen eine uint_32 Zahl mit dem Wert FFFF FFFF als -1 (zweierkomplement) zu interpretieren und sie mit der anderen Zahl zu vergleichen, anstatt die positive Zahl herzunehmen? Habe ich dadurch Zeit gewonnen? Ich denke nicht oder? Es sein denn, ich nehme für die -1 einen anderen datentypen...<br />
Eine Zusatzfrage: Wieso dauert der Vergleich von Strings so viel länger, als der vergleich von Zahlen?<br />
Viele Grüße<br />
CoraD</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1806405</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1806405</guid><dc:creator><![CDATA[CoraD]]></dc:creator><pubDate>Wed, 11 Nov 2009 11:34:47 GMT</pubDate></item><item><title><![CDATA[Reply to Vergleichoperator(==) Laufzeit abhängig vom datentyp? on Wed, 11 Nov 2009 11:44:50 GMT]]></title><description><![CDATA[<p>CoraD schrieb:</p>
<blockquote>
<p>Hi ihr Freaks <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
</blockquote>
<p>Na danke, für die freundliche Anrede.</p>
<blockquote>
<p>Ich habe mal eine ganz einfache Frage an euch.<br />
Wenn ich einen Zahlvergleich mache, also if(i==j) dann ist doch die Laufzeit des Vergleiches nur abhängig vom datentypen oder auch von der größe der Zahlen?<br />
Also je mehr bits der Datentyp hat, desto länger dauert der Vergleich? Wie schaut ein Zahlenvergleich in Assembler aus? Man vergleicht doch letztendlich jede Bitstelle miteinander oder?<br />
würde es daher sinn machen für riesige Schleifen eine uint_32 Zahl mit dem Wert FFFF FFFF als -1 (zweierkomplement) zu interpretieren und sie mit der anderen Zahl zu vergleichen, anstatt die positive Zahl herzunehmen? Habe ich dadurch Zeit gewonnen? Ich denke nicht oder? Es sein denn, ich nehme für die -1 einen anderen datentypen...<br />
Eine Zusatzfrage: Wieso dauert der Vergleich von Strings so viel länger, als der vergleich von Zahlen?<br />
Viele Grüße<br />
CoraD</p>
</blockquote>
<p>Die Geschwindigkeit des Vergleichsoperators ist abhängig vom Datentyp, ja. Also grobe Faustregel hat das auch was mit der größe des Datentyps zu tun, aber da kann man mit Leichtigkeit Ausnahmen finden. Strings sind sehr viel größere Datentypen als Zahlen, da greift die Faustregel.</p>
<p>Deine Vorstellungen wie ein Computer intern funktioniert sind absoluter Blödsinn. Wenn du Mikrooptimierungen aufbauend auf diesen Vorstellungen machst, wirst du dir selber schaden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1806414</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1806414</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 11 Nov 2009 11:44:50 GMT</pubDate></item><item><title><![CDATA[Reply to Vergleichoperator(==) Laufzeit abhängig vom datentyp? on Wed, 11 Nov 2009 12:03:18 GMT]]></title><description><![CDATA[<blockquote>
<p>Deine Vorstellungen wie ein Computer intern funktioniert sind absoluter Blödsinn. Wenn du Mikrooptimierungen aufbauend auf diesen Vorstellungen machst, wirst du dir selber schaden.</p>
</blockquote>
<p>Ich bin nur eine blöde Blondine... wie meinst Du das? Kannst Du das etwas genauer erklären? Wie funktioniert in diesem Zusammenhang ein Computer? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Sorry für die Anrede.. war nicht böse gemeint.</p>
<p>Liebe Grüße<br />
Cora</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1806428</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1806428</guid><dc:creator><![CDATA[CoraD]]></dc:creator><pubDate>Wed, 11 Nov 2009 12:03:18 GMT</pubDate></item><item><title><![CDATA[Reply to Vergleichoperator(==) Laufzeit abhängig vom datentyp? on Wed, 11 Nov 2009 14:31:27 GMT]]></title><description><![CDATA[<p>Die integralen Datentypen (char, short, int) werden immer auf Prozessorebene als ganzes (parallel) verglichen. Nur bei Datentypen, welche größer als der Datenbus sind, werden die Daten nacheinander verglichen. Und Strings werden immer zeichenweise verglichen (bzw. evtl. auch optimiert auf Datenbusbreite), da sie ja unterschiedlich lang sein können.</p>
<p>Und jetzt könnte ich dir auch noch erzählen, daß ein Vergleich von einzelnen Bytes langsamer sein kann als ein ganzer Int (aber das laß ich jetzt lieber -)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1806518</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1806518</guid><dc:creator><![CDATA[Th69]]></dc:creator><pubDate>Wed, 11 Nov 2009 14:31:27 GMT</pubDate></item><item><title><![CDATA[Reply to Vergleichoperator(==) Laufzeit abhängig vom datentyp? on Wed, 11 Nov 2009 14:50:03 GMT]]></title><description><![CDATA[<p>Das was Th69 schreibt wollte ich auch sagen. Und noch was hinzufügen: Das Bit ist auf Ebene der Prozessorlogik eine völlig irrelevante Größe. Der Prozessor rechnet mit Bytes und sogenannten Worten (die Länge eines Wortes entspricht der Datenbusbreite).</p>
<p>Das Bit ist eine Größe, die eine Rolle spielt:<br />
a) Als Hilfsgröße beim Programmieren, weil man oft Sachen mit Zweizustandslogik programmiert.<br />
b) Bei der wirklichen technischen Umsetzung des Prozessors auf elektrischer Ebene. Das heißt im Schaltplan des Prozessors tauchen tatsächlich Dinge auf, die man mit Bits assoziieren kann. Für die eigentliche Funktion des Prozessors ist es aber unerheblich ob er intern mit Bits, verschränkten Quanten oder einem Rechenschieber arbeitet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1806529</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1806529</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 11 Nov 2009 14:50:03 GMT</pubDate></item><item><title><![CDATA[Reply to Vergleichoperator(==) Laufzeit abhängig vom datentyp? on Wed, 11 Nov 2009 14:53:00 GMT]]></title><description><![CDATA[<p>SeppJ, wir scheinen uns ja gut zu ergänzen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1806535</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1806535</guid><dc:creator><![CDATA[Th69]]></dc:creator><pubDate>Wed, 11 Nov 2009 14:53:00 GMT</pubDate></item></channel></rss>