Addition != Addition: Warum? – SELFHTML-Forum Forum als Ergänzung zum SELFHTML-Wiki und zur Dokumentation SELFHTML https://forum.selfhtml.org/self Addition != Addition: Warum? Fri, 11 Nov 16 18:33:48 Z https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679815#m1679815 https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679815#m1679815 <p>Hallo,</p> <p>in C habe ich ein <a href="http://ideone.com/96kOQD" rel="nofollow noopener noreferrer">Phänomen</a>, welches nach einer Erklärzung schreit. Wer hilft mir mal auf die Sprünge?</p> <p>Jonas</p> Addition != Addition: Warum? Fri, 11 Nov 16 18:53:18 Z https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679816#m1679816 https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679816#m1679816 <blockquote> <p>in C habe ich ein <a href="http://ideone.com/96kOQD" rel="nofollow noopener noreferrer">Phänomen</a>, welches nach einer Erklärzung schreit. Wer hilft mir mal auf die Sprünge?</p> </blockquote> <p>Floating-Point-Addition ist nicht assoziativ, d.h. <code>(a + b) + c</code> ist im Allgemeinen nicht das gleiche wie <code>a + (b + c)</code>. Deine beiden Rechenwege sehen zunächst danach aus, als würden die Operationen in der selben Reihenfolge stattfinden, es kann aber sein, dass der C-Compiler die Varianten verschieden optimiert. Kannst du das Verhalten auch beobachten, wenn du ohne Optimierungen kompilierst?</p> Addition != Addition: Warum? Fri, 11 Nov 16 19:09:22 Z https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679818#m1679818 https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679818#m1679818 <blockquote> <p>Hallo,</p> <p>in C habe ich ein <a href="http://ideone.com/96kOQD" rel="nofollow noopener noreferrer">Phänomen</a>, welches nach einer Erklärzung schreit. Wer hilft mir mal auf die Sprünge?</p> <p>Jonas</p> </blockquote> <p>Ich habe das</p> <pre><code class="block language-c"><span class="token macro property"><span class="token directive-hash">#</span><span class="token directive keyword">include</span> <span class="token string"><stdio.h></span></span> <span class="token keyword">void</span> <span class="token function">summe_float</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token keyword">float</span> x1 <span class="token operator">=</span> <span class="token number">10000.0</span><span class="token punctuation">,</span> x2 <span class="token operator">=</span> <span class="token operator">-</span><span class="token number">1.0e-3</span> <span class="token operator">/</span> <span class="token number">9.0</span><span class="token punctuation">,</span>x3 <span class="token operator">=</span> <span class="token number">25.0e2</span><span class="token punctuation">,</span> x4 <span class="token operator">=</span> <span class="token number">1.0e-3</span> <span class="token operator">/</span> <span class="token number">7.0</span><span class="token punctuation">,</span> x5 <span class="token operator">=</span> <span class="token operator">-</span><span class="token number">12.5e3</span><span class="token punctuation">;</span> <span class="token keyword">float</span> y <span class="token operator">=</span> x1<span class="token punctuation">;</span> y<span class="token operator">+=</span>x2<span class="token punctuation">;</span> y<span class="token operator">+=</span> x3<span class="token punctuation">;</span> y<span class="token operator">+=</span> x4<span class="token punctuation">;</span> y<span class="token operator">+=</span> x5<span class="token punctuation">;</span> <span class="token keyword">float</span> z <span class="token operator">=</span> x1<span class="token operator">+</span>x2<span class="token operator">+</span>x3<span class="token operator">+</span>x4<span class="token operator">+</span>x5<span class="token punctuation">;</span> <span class="token function">printf</span><span class="token punctuation">(</span><span class="token string">"Fall 1: (Addition schrittweise):%.21f \n"</span><span class="token punctuation">,</span>y<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token function">printf</span><span class="token punctuation">(</span><span class="token string">"Fall 2: (Addition direkt):%.21f \n"</span><span class="token punctuation">,</span>z<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">return</span> <span class="token number">0</span><span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token keyword">int</span> <span class="token function">main</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token function">summe_float</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">return</span> <span class="token number">0</span><span class="token punctuation">;</span> <span class="token punctuation">}</span> </code></pre> <p>mal kopiert, compiliert und ausgeführt:</p> <pre><code class="block">/tmp$ gcc -o test.bin test.c test.c: In function ‘summe_float’: test.c:15:1: warning: ‘return’ with a value, in function returning void [enabled by default] return 0; ^ /tmp$ ./test.bin Fall 1: (Addition schrittweise):0.000000000000000000000 Fall 2: (Addition direkt):0.000000000000000000000 </code></pre> Ich erkärs Dir ... Fri, 11 Nov 16 20:03:01 Z https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679826#m1679826 https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679826#m1679826 <blockquote> <p>in C habe ich ein <a href="http://ideone.com/96kOQD" rel="nofollow noopener noreferrer">Phänomen</a>, welches nach einer Erklärzung schreit. Wer hilft mir mal auf die Sprünge?</p> </blockquote> <p>Ich erkärs Dir ...</p> <pre><code class="block">Test A5: (Addition schrittweise):0.000000000000000000000 Test B: (Addition direkt):0.000031746028980705887 </code></pre> <p>Das sieht aus wie ein Rundungsfehler. Die Zahlen werden ja binär mit endlichem Platz gespeichert und können also nicht beliebig genau sein. Du rechnest einerseits mit großen Zahlen und andererseits mit sehr kleinen Zahlen, wodurch die Genauigkeit, die float kann, auch vollständig ausnutzt.</p> <p><strong>Offenbar rundet Dein Kompiler bzw. dessen Kompilat bei jeder Zuweisung an eine Variable</strong> - was er/es bei der Kettenoperation gerade nicht macht und hat am Ende eine Zahl deren Abweichung zum Runden zu groß ist.</p> <p>Im Ergebnis hast Du dann die Abweichung (in Test B) vom mathematisch richtigem Ergebnis (nach A5).</p> <p>Warum ich mich verarscht gefühlt habe: Könnte eine Testfrage nach Kapitel 4 ("Datentypen") in "C-Grundlagen" sein.</p> <p>Google weiß alles a.k.a. Tagwächter</p> Addition != Addition: Warum? Fri, 11 Nov 16 19:54:01 Z https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679824#m1679824 https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679824#m1679824 <blockquote> <p>Floating-Point-Addition ist nicht assoziativ, d.h. <code>a + b</code> ist im Allgemeinen nicht das gleiche wie <code>b + a</code>. Deine beiden Rechenwege sehen zunächst danach aus, als würden die Operationen in der selben Reihenfolge stattfinden, es kann aber sein, dass der C-Compiler die Varianten verschieden optimiert. Kannst du das Verhalten auch beobachten, wenn du ohne Optimierungen kompilierst?</p> </blockquote> <p>Hi,</p> <p>ich glaube, dass Du "auf dem richtigen Weg" (der mir unbekannt ist) bist. Leider habe ich gerade nur den Compiler zur Verfügung, den Ideone bietet.</p> <p>Kannst Du mir ggf. trotzdem etwas über "die Optimierungen" sagen, die ein C-Compiler hier eigenständig vornimmt oder es eben auch nicht tut?</p> <p>Jonas</p> Addition != Addition: Warum? Fri, 11 Nov 16 19:59:09 Z https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679825#m1679825 https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679825#m1679825 <p>Hallo 1unitedpower,</p> <blockquote> <p>Floating-Point-Addition ist nicht assoziativ, d.h. <code>a + b</code> ist im Allgemeinen nicht das gleiche wie <code>b + a</code>.</p> </blockquote> <p>Du beschreibst Kommutativität.</p> <p>Assoziativität wäre <code>(a + b) + c = a + (b + c)</code>.</p> <p>Bis demnächst<br> Matthias</p> <div class="signature">-- <br> Dieses Forum nutzt Markdown. Im <a href="https://wiki.selfhtml.org" rel="nofollow noopener noreferrer">Wiki</a> erhalten Sie <a href="https://wiki.selfhtml.org/wiki/SELFHTML:Forum/Formatierung_der_Beitr%C3%A4ge" rel="nofollow noopener noreferrer">Hilfe bei der Formatierung Ihrer Beiträge</a>. </div> Netter Versuch der Verarsche. Fri, 11 Nov 16 19:34:34 Z https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679819#m1679819 https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679819#m1679819 <pre><code class="block language-c"><span class="token keyword">void</span> <span class="token function">summe_float</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token keyword">float</span> x1<span class="token operator">=</span><span class="token number">10000.0</span><span class="token punctuation">;</span> <span class="token keyword">float</span> x2<span class="token operator">=</span><span class="token operator">-</span><span class="token number">1.0e-3</span><span class="token operator">/</span><span class="token number">9</span><span class="token punctuation">;</span> <span class="token keyword">float</span> x3<span class="token operator">=</span><span class="token number">25.0e2</span><span class="token punctuation">;</span> <span class="token keyword">float</span> x4<span class="token operator">=</span><span class="token number">1.0e-3</span><span class="token operator">/</span><span class="token number">7</span><span class="token punctuation">;</span> <span class="token keyword">float</span> x5<span class="token operator">=</span><span class="token operator">-</span><span class="token number">12.5e3</span><span class="token punctuation">;</span> <span class="token keyword">float</span> y<span class="token operator">=</span>x1<span class="token punctuation">;</span> <span class="token function">printf</span><span class="token punctuation">(</span><span class="token string">"Test A1: (Addition schrittweise):%.21f \n"</span><span class="token punctuation">,</span>y<span class="token punctuation">)</span><span class="token punctuation">;</span> y<span class="token operator">=</span>y<span class="token operator">+</span>x2<span class="token punctuation">;</span> <span class="token function">printf</span><span class="token punctuation">(</span><span class="token string">"Test A2: (Addition schrittweise):%.21f \n"</span><span class="token punctuation">,</span>y<span class="token punctuation">)</span><span class="token punctuation">;</span> y<span class="token operator">=</span>y<span class="token operator">+</span>x3<span class="token punctuation">;</span> <span class="token function">printf</span><span class="token punctuation">(</span><span class="token string">"Test A3: (Addition schrittweise):%.21f \n"</span><span class="token punctuation">,</span>y<span class="token punctuation">)</span><span class="token punctuation">;</span> y<span class="token operator">=</span>y<span class="token operator">+</span>x4<span class="token punctuation">;</span> <span class="token function">printf</span><span class="token punctuation">(</span><span class="token string">"Test A4: (Addition schrittweise):%.21f \n"</span><span class="token punctuation">,</span>y<span class="token punctuation">)</span><span class="token punctuation">;</span> y<span class="token operator">=</span>y<span class="token operator">+</span>x5<span class="token punctuation">;</span> <span class="token function">printf</span><span class="token punctuation">(</span><span class="token string">"Test A5: (Addition schrittweise):%.21f \n"</span><span class="token punctuation">,</span>y<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">float</span> z<span class="token punctuation">;</span> z<span class="token operator">=</span>x1<span class="token operator">+</span>x2<span class="token operator">+</span>x3<span class="token operator">+</span>x4<span class="token operator">+</span>x5<span class="token punctuation">;</span> <span class="token function">printf</span><span class="token punctuation">(</span><span class="token string">"Test B: (Addition direkt):%.21f \n"</span><span class="token punctuation">,</span>z<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">return</span><span class="token punctuation">;</span> <span class="token punctuation">}</span> </code></pre> <p>Denksport:</p> <pre><code class="block">Test A1: (Addition schrittweise):10000.000000000000000000000 Test A2: (Addition schrittweise):10000.000000000000000000000 Test A3: (Addition schrittweise):12500.000000000000000000000 Test A4: (Addition schrittweise):12500.000000000000000000000 Zahl X5: -12500.000000000000000000000 Test A5: (Addition schrittweise):0.000000000000000000000 Test B: (Addition direkt):0.000000000000000000000 </code></pre> <p><strong>Netter Versuch.</strong></p> Netter Versuch der Verarsche. Fri, 11 Nov 16 19:43:12 Z https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679820#m1679820 https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679820#m1679820 <blockquote> <p>Denksport:</p> <pre><code class="block">Test A1: (Addition schrittweise):10000.000000000000000000000 Test A2: (Addition schrittweise):10000.000000000000000000000 Test A3: (Addition schrittweise):12500.000000000000000000000 Test A4: (Addition schrittweise):12500.000000000000000000000 Zahl X5: -12500.000000000000000000000 Test A5: (Addition schrittweise):0.000000000000000000000 Test B: (Addition direkt):0.000000000000000000000 </code></pre> <p><strong>Netter Versuch.</strong></p> </blockquote> <p><a href="http://ideone.com/96kOQD" rel="nofollow noopener noreferrer">Schön wärs</a> :-(</p> <p>Ich denke, 1unitedpower liegt nahe an der Lösung. Es könnte am Compiler und an dessen Optimierungen liegen. Aber damit kenne ich mich eben nicht aus.</p> <p>Daher bleibt die Frage bestehen: Warum (genau)?</p> <p>Jonas</p> By the way: Kalender-Test Fri, 11 Nov 16 19:43:40 Z https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679821#m1679821 https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679821#m1679821 <p>Ich habe selbst was zu testen:</p> <p><a href="https://home.fastix.org/Tests/PHP:Feiertage/test-feiertage-form.php" rel="nofollow noopener noreferrer">https://home.fastix.org/Tests/PHP:Feiertage/test-feiertage-form.php</a></p> <p>(<a href="https://code.fastix.org/Projekte/PHP%3AFeiertage/" rel="nofollow noopener noreferrer">Projekt</a>)</p> Netter Versuch der Verarsche. Fri, 11 Nov 16 19:45:38 Z https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679822#m1679822 https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679822#m1679822 <blockquote> <p>Es könnte am Compiler und an dessen Optimierungen liegen. Aber damit kenne ich mich eben nicht aus.</p> </blockquote> <p>Dann gibt man erst mal an, womit und ggf. mit welchen Optionen man compiliert hat.</p> By the way: Kalender-Test Fri, 11 Nov 16 19:47:52 Z https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679823#m1679823 https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679823#m1679823 <blockquote> <p>Ich habe selbst was zu testen:</p> <p><a href="https://home.fastix.org/Tests/PHP:Feiertage/test-feiertage-form.php" rel="nofollow noopener noreferrer">https://home.fastix.org/Tests/PHP:Feiertage/test-feiertage-form.php</a></p> <p>(<a href="https://code.fastix.org/Projekte/PHP%3AFeiertage/" rel="nofollow noopener noreferrer">Projekt</a>)</p> </blockquote> <p>Oops. Hast Du die Rechte, diesen Post als eigenen Thread wieder aus meiner Frage zu entfernen? Ich befürchte nämlich, dass meine Ursprungsfrage hierin verloren geht :-(</p> <p>Oder hat Deine Frage irgendwie direkt etwas mit meiner Frage zu tun und ich merke es gerade nicht? Glaubst Du etwa, dass ich andere etwas für mich testen lassen möchte? ich verstehe das gerade nicht.</p> <p>Jonas</p> By the way: Kalender-Test Fri, 11 Nov 16 20:22:25 Z https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679831#m1679831 https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679831#m1679831 <p>Ich mach hier zu, das führt sonst zu unnötiger Fragmentierung dieses und deiner Threads.</p> By the way: Kalender-Test Fri, 11 Nov 16 20:08:36 Z https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679827#m1679827 https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679827#m1679827 <blockquote> <blockquote> <p>Ich habe selbst was zu testen:</p> <p><a href="https://home.fastix.org/Tests/PHP:Feiertage/test-feiertage-form.php" rel="nofollow noopener noreferrer">https://home.fastix.org/Tests/PHP:Feiertage/test-feiertage-form.php</a></p> <p>(<a href="https://code.fastix.org/Projekte/PHP%3AFeiertage/" rel="nofollow noopener noreferrer">Projekt</a>)</p> </blockquote> <p>Oops. Hast Du die Rechte, diesen Post als eigenen Thread wieder aus meiner Frage zu entfernen?</p> </blockquote> <p>Nein. <a href="https://home.fastix.org/Tests/sysview.js.banana_tmp.php" rel="nofollow noopener noreferrer">Außerdem friert sich mein Prozessor den Popo ab</a>. <a href="http://blog.fastix.org/2016/10/banana-pi-m3-mit-debian-nach.html" rel="nofollow noopener noreferrer">Hier der Grund</a>.</p> Addition != Addition: Warum? Fri, 11 Nov 16 20:18:56 Z https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679829#m1679829 https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679829#m1679829 <blockquote> <p>Du beschreibst Kommutativität.</p> </blockquote> <p>Jep, sorry.</p> Ich erkärs Dir ... Fri, 11 Nov 16 20:28:05 Z https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679832#m1679832 https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679832#m1679832 <blockquote> <p>Warum ich mich verarscht gefühlt habe: Könnte eine Testfrage nach Kapitel 4 ("Datentypen") in "C-Grundlagen" sein.</p> </blockquote> <p>Ich denke, dass das mit der Testfrage stimmt. Aber nicht von mir und (so denke ich) auch nicht vom Prof. Aber auf meinem Weg zur Aufgabenbewältigung stehe ich genau vor diesem Problem (wie Ochs vom ...) Ich vesrtehe die Lösung immer nich nicht so ganz (was an der späten Uhrzeit liegen mag). Jedenfalls wolt ich Dich nicht veräppeln, schau mir die Lösung morgen früh nochmal an und frag bei Bedarf nach, ok?</p> <p>Jonas</p> Ich erkärs Dir ... Sat, 12 Nov 16 00:24:52 Z https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679849#m1679849 https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679849#m1679849 <p>Hallo Google,</p> <blockquote> <pre><code class="block">Test A5: (Addition schrittweise):0.000000000000000000000 Test B: (Addition direkt):0.000031746028980705887 </code></pre> <p>[Erklärung Rundungsfehler]</p> </blockquote> <p>das sollte die richtige Erklärung sein, aber …</p> <blockquote> <p>Im Ergebnis hast Du dann die Abweichung (in Test B) vom mathematisch richtigem Ergebnis (nach A5).</p> </blockquote> <p>… ich denke die Schlussfolgerung ist falsch oder Du hast Dich verschrieben. Nur weil das „krumme“ Ergebnis wie so ein üblicher Rundungsfehler aussieht, muss es nicht das falsche Ergebnis sein. Kann man bei so einer einfachen Aufgabe auch noch schnell von Hand ausrechnen:</p> <p>$$ 10000.0+-1.0e-3 / 9.0+25.0e2+1.0e-3 / 7.0+-12.5e3 $$<br> $$ = 10000+2500-12500+(\frac{1}{7}-\frac{1}{9}) \times 10^{-3} $$<br> $$ =\frac{2}{63}\times10^{-3}=0.0000\overline{317460} $$</p> <p>(In der Hoffnung, mich hier am Handy nicht verschrieben zu haben; das 2/63 eine Periode ergibt sagt mein Taschenrechner)</p> <p>Test B, die Verkettung, wäre damit näher am richtigen Ergebnis dran, ist aber dennoch Fehlerbehaftet. Irgendwie begründest Du das in der Erklärung auch schon selbst. Aber irgendwo scheint da was durcheinander geraten zu sein.</p> <p>Gruß<br> Dennis</p> Addition != Addition: Warum? Fri, 11 Nov 16 20:42:20 Z https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679836#m1679836 https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679836#m1679836 <blockquote> <blockquote> <p>Du beschreibst Kommutativität.</p> </blockquote> <p>Jep, sorry.</p> </blockquote> <p>ja, irgendwie klingelts: kommutativgesetz..</p> <p>Nur in diesem Zusammenhang kenn ichs nicht. Jonas</p> Ich erkärs Dir ... Fri, 11 Nov 16 20:47:06 Z https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679837#m1679837 https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679837#m1679837 <blockquote> <p>Ich vesrtehe die Lösung immer nich nicht so ganz</p> </blockquote> <p>Die Lösung ist einfach: Da Compiler offenbar bei Kettenoperationen unterschiedliche Ergebnisse erzeugen ist die Strategie eben diese Kettenoperationen zu vermeiden - und zwar immer wenn die Stellenzahl/maximale Genauigkeit von float ausgelutscht werden könnte.</p> <p>Die andere Lösung wäre eine Bibliothek zum Berechnen mit beliebigen Genauigkeiten (arbitrary precision) zu benutzen. bc könnte hierfür ein Beispiel sein. <a href="https://www.gnu.org/software/bc/" rel="nofollow noopener noreferrer">Und da es OpenSource ist kann man auch reinschauen</a>.</p> <p>Das ist aber teuer - Programme die so rechnen werden langsam. Also nur im Bedarfsfall.</p> Addition != Addition: Warum? Fri, 11 Nov 16 20:50:30 Z https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679838#m1679838 https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679838#m1679838 <blockquote> <p>Nur in diesem Zusammenhang kenn ichs nicht.</p> </blockquote> <p>Dieser Wikipedia-Artikel hilft vielleicht: <a href="https://de.wikipedia.org/wiki/Gleitkommazahl#Ung.C3.BCltigkeit_der_Assoziativ-_und_Distributivgesetze" rel="nofollow noopener noreferrer">https://de.wikipedia.org/wiki/Gleitkommazahl#Ung.C3.BCltigkeit_der_Assoziativ-_und_Distributivgesetze</a></p> Ich erkärs Dir ... Fri, 11 Nov 16 22:21:10 Z https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679841#m1679841 https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679841#m1679841 <p>Och Leute - seid ihr alle durch JavaScript und PHP soweit vom Blech abgehoben, dass ihr die Grundlagen nicht mehr kennt?</p> <p><a href="https://de.wikipedia.org/wiki/Einfache_Genauigkeit" rel="nofollow noopener noreferrer">Einfache Genauigkeit</a><br> <a href="https://de.wikipedia.org/wiki/C_(Programmiersprache)#Kommazahlen" rel="nofollow noopener noreferrer">Fließkomma in C</a></p> <p>Mit Kommutativität / Assoziativität hat das wenig zu tun. Sicher, in C ist die Reihenfolge der Operandenauswertung undefiniert, aber die Reihenfolge, in der die OPERATOREN angewendet werden, ist durch die Assoziativität bestimmt und deswegen erfolgt die Addition in Zeile 21 von links nach rechts.</p> <p>Das Problem ist ein anderes: Die Genauigkeit von float ist <em>winzig</em>, es sind 23 Bit und damit ist $$2^{24}-1$$ der größte darstellbare Mantissewert. Also ca 16 Millionen, demzufolge 7-8 signifikante Stellen. Die Addition</p> <pre><code class="block">10000 0,000111 ============ 10000,000111 </code></pre> <p>braucht 9 signifikante Ziffern, damit der kleine Summand nicht untergeht. Deswegen sind die Summanden x2 und x4 nach der Zuweisung an die Akkumulatorvariable <code>float y</code> verschwunden.</p> <p>Wenn man y als double deklariert, ist das Problem weg. Vermutlich aus dem gleichen Grund, aus dem das bei dem langen Term anders ist; und ich würde es schon fast als Compiler-Bug ansehen. Es sei denn, K&R haben dem Compiler hier wieder mal die Freiheit der Interpretation gelassen, und eine Auswertung von float-Expressions mit double-Genauigkeit ist legitim. Fließkommaarithmerik macht ein Prozessor von heute jedenfalls mit der FPU und die arbeiten heute alle mit 64 oder 80 Bit, also double oder long double. Doppelte Genauigkeit hat 53 signifikante Bits oder 16 signifikante Dezimalstellen, und deswegen bleiben die Summanden dann erhalten.</p> <p>Durch die interne genauere Rechnung haben sich am Ende die großen Werte gegenseitig ausgelöscht und man hat ein Ergebnis nahe 0. DAS kann dann wieder als float gespeichert werden.</p> <p>In einem Uralt-C-Compiler, der noch Code für CPUs ohne FPU erzeugen kann, könnte man einmal einstellen, dass er eine 32-bit Float-Emulation nutzen soll (Fastmath oder sowas). Und dann dürfte auch die einzeilige Rechnung die kleinen Werte verlieren.</p> <p><em>Rolf</em></p> Ich erkärs Dir ... Fri, 11 Nov 16 22:29:28 Z https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679843#m1679843 https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679843#m1679843 <p>Nachtrag 1: Ich hätte erwähnen sollen dass float und double compilerspezifische Angaben sind und nicht unbedingt 32-bit und 64-bit IEEE754 sein müssen. Aber die meisten Prozessoren von heute sind so.</p> <p>Nachtrag 2: Habe jetzt in einem Online-Antiquariat eine 2. Auflage von K&R gefunden, da schreiben sie (Seite 198), dass die erste Auflage <strong>gefordert</strong> hat, dass float-Expressions in double ausgewertet werden und dass die zweite Auflage es <strong>erlaubt</strong>, float-Rechnungen in float durchzuführen. Was dem typischen C-Problem "Write Once, Test Everywhere" einen weiteren Schuss verpasst. Multiplattform-Programme in C bestehen aus mehr #if als Code, und pro Plattform wird oft genug nur die Hälfte des vorhandenen Source genutzt, der Rest ist eine Sonderimplementierung für andere Plattformen.</p> <p>Nachtrag 3: Es wurde oben irgendwo gesagt, das Ergebnis A5 sei das mathematisch richtige. Seh ich anders, ich halte B für richtig - äh - näher an der Wahrheit. Fließkommazahlen sind selten <em>ganz</em> richtig (und sobald Nachkommastellen ins Spiel kommen, die sich nicht als Bruch mit einer Zweierpotenz im Nenner darstellen lassen, ist's auf jeden Fall aus).</p> <p><em>Rolf</em></p> Ich erkärs Dir ... Fri, 11 Nov 16 23:48:53 Z https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679848#m1679848 https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679848#m1679848 <blockquote> <p>Och Leute - seid ihr alle durch JavaScript und PHP soweit vom Blech abgehoben, dass ihr die Grundlagen nicht mehr kennt?</p> </blockquote> <p>Also ich bin ja hoch glücklich, dass Du jetzt kommst und uns lang und breit nochmal erklärst, was ich schon <a href="https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679826#m1679826" rel="noopener noreferrer">kurz ausführte</a> <a href="https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679838#m1679838" rel="noopener noreferrer">und 1united</a> <a href="https://de.wikipedia.org/wiki/Gleitkommazahl#Ung.C3.BCltigkeit_der_Assoziativ-_und_Distributivgesetze" rel="nofollow noopener noreferrer">verlinkt</a> hat.</p> Ich erkärs Dir ... Sat, 12 Nov 16 00:38:32 Z https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679851#m1679851 https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679851#m1679851 <blockquote> <p>Och Leute - seid ihr alle durch JavaScript und PHP soweit vom Blech abgehoben, dass ihr die Grundlagen nicht mehr kennt?</p> </blockquote> <p>So grundlegend ist das nicht, du liegst auch teilweise daneben. Im übrigen ist zumindest JS Arithmetik IEEE konform.</p> <blockquote> <p>Sicher, in C ist die Reihenfolge der Operandenauswertung undefiniert</p> </blockquote> <p>Das stimmt nicht. C verwendet eine left-most, inner-most Auswertungsstrategie für arithmetische Operatoren.</p> <blockquote> <p>aber die Reihenfolge, in der die OPERATOREN angewendet werden, ist durch die Assoziativität bestimmt und deswegen erfolgt die Addition in Zeile 21 von links nach rechts.</p> </blockquote> <p>Das stimmt nun wieder, aber das bedeutet nicht, dass die Addition auch dem Assoziativitätsgesetz folgt. Wir benutzen hier „Assoziativität“ für zwei unterschiedliche Sachverhalte, das sollten wir nicht durcheinander werfen.</p> <blockquote> <p>Deswegen sind die Summanden x2 und x4 nach der Zuweisung an die Akkumulatorvariable <code>float y</code> verschwunden.</p> </blockquote> <p>Das stimmt ebenfalls, das ist der Auslöschungseffekt. Es erklärt aber nicht, wieso der Fehler in der einen Berechnung auftritt und in der anderen nicht. Jedenfalls nicht, wenn man davon ausgeht, dass das Ergebnis einer Floating-Point-Addition wieder eine Floating-Point-Zahl ist.</p> <p>Meine Vermutung war deshalb, dass mit einer Optimierungsstufe kompiliert wurde, die es dem Compiler erlaubt die Reihenfolge der Additions-Anwendungen zu variieren. Dann könnte aus <code>a + b + c</code> nämlich <code>c + b + a</code> geworden sein. Dann könnte in der einen Berechnung Auslöschung auftreten und in der anderen nicht. Deshalb kam ich auf die Nicht-Assoziativität.</p> <p>Wirft man meine Annahme über Board, könnte man den Effekt auch damit erklären, dass C intern mit höherer Präzision rechnet. Darauf wolltest du vermutlich hinaus. Im Moment erscheint mir beides gleich wahrscheinlich.</p> Ich erkärs Dir ... Sat, 12 Nov 16 00:29:12 Z https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679850#m1679850 https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679850#m1679850 <p>Hallo Rolf,</p> <blockquote> <p>Nachtrag 3: Es wurde oben irgendwo gesagt, das Ergebnis A5 sei das mathematisch richtige. Seh ich anders, ich halte B für richtig - äh - näher an der Wahrheit. Fließkommazahlen sind selten <em>ganz</em> richtig (und sobald Nachkommastellen ins Spiel kommen, die sich nicht als Bruch mit einer Zweierpotenz im Nenner darstellen lassen, ist's auf jeden Fall aus).</p> </blockquote> <p><a href="https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679849#m1679849" rel="noopener noreferrer">ich hätte wohl zuerst den ganzen Thread lesen sollen…</a>. Da warst Du deutlich früher dran als ich.</p> <p>Gruß<br> Dennis</p> Ich erkärs Dir ... Sat, 12 Nov 16 09:07:06 Z https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679858#m1679858 https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679858#m1679858 <p>Hallo Der-Dennis,</p> <blockquote> <p>dass 2/63 eine Periode ergibt, sagt mein Taschenrechner</p> </blockquote> <p>Wenn man Dezimalzahlen voraussetzt, gilt:</p> <ul> <li>Besitzt der Nenner (> 1) eines vollständig gekürzten Bruches <strong>nur</strong> die Primfaktoren <em>2</em> und <em>5</em>, so ist seine Dezimalbruchdarstellung endlich.</li> <li>Besitzt er <strong>nur andere</strong> Primfaktoren als <em>2</em> und <em>5</em>, so ist seine Dezimalbruchdarstellung sofortperiodisch.</li> <li>Besitzt er <strong>beide „Sorten“</strong> von Primfaktoren, so ist seine Dezimalbruchdarstellung spätperiodisch. Die Länge der Vorperiode ist gegeben durch das Maximum der Anzahl der Primfaktoren <em>2</em> und <em>5</em>.</li> </ul> <p>Bis demnächst<br> Matthias</p> <div class="signature">-- <br> Dieses Forum nutzt Markdown. Im <a href="https://wiki.selfhtml.org" rel="nofollow noopener noreferrer">Wiki</a> erhalten Sie <a href="https://wiki.selfhtml.org/wiki/SELFHTML:Forum/Formatierung_der_Beitr%C3%A4ge" rel="nofollow noopener noreferrer">Hilfe bei der Formatierung Ihrer Beiträge</a>. </div> Ich erkärs Dir ... Sat, 12 Nov 16 11:08:36 Z https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679871#m1679871 https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679871#m1679871 <p>@@Der-Dennis</p> <blockquote> <p>das 2/63 eine Periode ergibt sagt mein Taschenrechner</p> </blockquote> <p>Nein. Dein Taschenrechner zeigt sowas wie 0,03174603174603 an.</p> <p>Du kannst <strong>vermuten</strong>, dass es danach periodisch weitergeht, aber der Taschenrechner sagt das nicht.</p> <p>LLAP </p> <div class="signature">-- <br> <em>“I love to go to JS conferences to speak about how to avoid using JavaScript. Please learn CSS & HTML to reduce your JS code bloat.”</em> —Estelle Weyl </div> Ich erkärs Dir ... Sat, 12 Nov 16 15:14:18 Z https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679905#m1679905 https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679905#m1679905 <blockquote> <blockquote> <p>Sicher, in C ist die Reihenfolge der Operandenauswertung undefiniert Das stimmt nicht. C verwendet eine left-most, inner-most Auswertungsstrategie für arithmetische Operatoren.</p> </blockquote> </blockquote> <p>Wir reden hier von 3 verschiedenen Dingen. Du sprichst von left-most, inner-most, was sich auf die Auswertung von Funktionsargumenten bezieht, aber nicht auf die Auswertung von Ausdrücken als solches. Dazu kommt, dass deiner Behauptung Aussage vom <a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1124.pdf" rel="nofollow noopener noreferrer">C99 Standard</a> widersprochen wird: Annex J sagt, dass die Reihenfolge der Auswertung von Funktionsargumenten undefiniert ist. Für C11 habe ich kein offizielles Standarddokument gefunden.</p> <p>Zum zweiten ist da die Reihenfolge, wie die Werte von Operanden für Operatoren bestimmt werden. Die ist per Definitionem undefiniert, und das begründen K&R damit, dass sie dem Programmierer abgewöhnen wollen, sich auf Compilerspezifika zu verlassen. In C99 steht diese Undefiniertheit - wieder Annex J - auch noch drin. D.h. wenn die Operanden A,B,C in einem Term <code>x=A+B+C</code> Funktionsaufrufe oder Teilausdrücke sind, dann ist die Reihenfolge der Funktionsaufrufe bzw. die Werteermittlung undefiniert.</p> <p>Drittens haben wir die Reihenfolge, in der Operatoren auf die gefundenen Werte angewendet werden. Und die ist NICHT undefiniert, die ist über die Assoziativität klar festgelegt. D.h. wenn ich A+B+C schreibe, wird erst A+B gerechnet und dazu C addiert. Im C99 Standard steht, dass der Compiler das bei Integer-Operationen umordnen darf, wenn die Hardware es zulässt (sprich: keine Overflow-Interrupts entstehen und Überläufe sich gegenseitig neutralisieren). Aber eben nur bei Integer, nicht bei Float. Gerade weil wegen der begrenzten Genauigkeit von float/double Variablen das Kommutativ-, Assozativ- und Distributivgesetz der Mathematik nicht anwendbar sind, darf der Compiler nicht umordnen, sondern muss sich strikt an die definierte Anordnung halten.</p> <blockquote> <p>Das stimmt nun wieder, aber das bedeutet nicht, dass die Addition auch dem Assoziativitätsgesetz folgt. Wir benutzen hier „Assoziativität“ für zwei unterschiedliche Sachverhalte, das sollten wir nicht durcheinander werfen.</p> </blockquote> <p>Genau :)</p> <blockquote> <blockquote> <p>Deswegen sind die Summanden x2 und x4 nach der Zuweisung an die Akkumulatorvariable <code>float y</code> verschwunden.</p> </blockquote> <p>Das stimmt ebenfalls, das ist der Auslöschungseffekt. Es erklärt aber nicht, wieso der Fehler in der einen Berechnung auftritt und in der anderen nicht. Jedenfalls nicht, wenn man davon ausgeht, dass das Ergebnis einer Floating-Point-Addition wieder eine Floating-Point-Zahl ist.</p> </blockquote> <p>Nein, davon wird es nicht erklärt. Das kommt später.</p> <blockquote> <p>Meine Vermutung war deshalb, dass mit einer Optimierungsstufe kompiliert wurde, die es dem Compiler erlaubt die Reihenfolge der Additions-Anwendungen zu variieren. Dann könnte aus <code>a + b + c</code> nämlich <code>c + b + a</code> geworden sein. Dann könnte in der einen Berechnung Auslöschung auftreten und in der anderen nicht. Deshalb kam ich auf die Nicht-Assoziativität.</p> </blockquote> <p>Du meinst (a+b)+c und a+(b+c), andernfalls wäre es Kommutativität ;-). Das Thema "Umordnen von Float-Ausdrücken" hatte ich oben schon erwähnt, und ich habe nichts vermutet, sondern im Standard nachgelesen.</p> <blockquote> <p>Wirft man meine Annahme über Board, könnte man den Effekt auch damit erklären, dass C intern mit höherer Präzision rechnet. Darauf wolltest du vermutlich hinaus. Im Moment erscheint mir beides gleich wahrscheinlich.</p> </blockquote> <p>Wir brauchen keine Wahrscheinlichkeitsrechnung, es ist im Standard definiert (5.1.2.3 Nr. 11; 5.2.4.2.1, Nr. 8)): Float-Berechnungen werden mit höchstmöglicher Präzision ausgeführt und erst beim Zuweisen wird gerundet. Der Compiler DARF mit kleinerer Genauigkeit rechnen, wenn er für sich beweisen kann, dass das zum gleichen Ergebnis führt wie die genauere Rechnung.</p> <p><em>Rolf</em></p> Ich erkärs Dir ... Sat, 12 Nov 16 09:32:59 Z https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679860#m1679860 https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679860#m1679860 <p>Dann wären noch PI und Euler... Ob das Ergebnis der Divison durch diese Zahlen periodisch ist oder nicht kann man nicht <strong>zeigen</strong> weil die Periode unendlich lang wäre.</p> Ich erkärs Dir ... Sat, 12 Nov 16 16:22:15 Z https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679913#m1679913 https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679913#m1679913 <p>Hallo Matthias,</p> <blockquote> <blockquote> <p>dass 2/63 eine Periode ergibt, sagt mein Taschenrechner</p> </blockquote> </blockquote> <p>da habe ich mich verschrieben. Es sollte „diese Periode“ heißen, nicht „eine Periode“. Ich wollte damit ausdrücken, dass ich das nicht mal eben im Kopf gerechnet habe (weil ich vorher geschrieben hab, wie einfach das zu rechnen ist; 2/63 in Dezimaldarstellung im Kopf auszurechnen macht mir aber keinen Spaß).</p> <blockquote> <p>Wenn man Dezimalzahlen voraussetzt, gilt:</p> <ul> <li>Besitzt der Nenner (> 1) eines vollständig gekürzten Bruches <strong>nur</strong> die Primfaktoren <em>2</em> und <em>5</em>, so ist seine Dezimalbruchdarstellung endlich.</li> <li>Besitzt er <strong>nur andere</strong> Primfaktoren als <em>2</em> und <em>5</em>, so ist seine Dezimalbruchdarstellung sofortperiodisch.</li> <li>Besitzt er <strong>beide „Sorten“</strong> von Primfaktoren, so ist seine Dezimalbruchdarstellung spätperiodisch. Die Länge der Vorperiode ist gegeben durch das Maximum der Anzahl der Primfaktoren <em>2</em> und <em>5</em>.</li> </ul> </blockquote> <p>Da erinnere ich mich noch dunkel aus meiner Schulzeit dran. Aber gut, dass Du es hier schreibst. Jetzt habe ich das zumindest in der nächsten Zeit wieder auf dem Schirm :-)</p> <p>Aber: Ich glaube auch nicht, dass ich sonderlich gut darin wäre, 31500 in seine Primfaktoren zu zerlegen.</p> <p>Obwohl, wo ich gerade so darüber nachdenke: So schwer kann das eigentlich gar nicht sein, wenn man sich den Ausdruck $$ \frac{2}{63}\times10^{-3} $$ ansieht. $$ \frac{2}{63} $$ ist bereits vollständig gekürzt, bei $$ 63 = 9\times7 $$ sieht man die Primfaktoren 3, 3, 7 schon sehr gut. Und dann „Komma nach rechts verschieben“. Ok, das ist etwas gemogelt.<br> Hmm, kurz weiter überlegen. Aha! Da die Zehnerpotenzen immer 2 und 5 als Primfaktoren haben und im Zähler eine 2 steht: $$ \frac{\not{2}}{(3\times3\times7)\times(\not{2}\times5\times2\times5\times2\times5)} $$. Die Primfaktoren müssten dann 2, 2, 3, 3, 5, 5, 5, 7 sein, oder?</p> <p>Gruß<br> Dennis</p> Ich erkärs Dir ... Sat, 12 Nov 16 09:41:46 Z https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679862#m1679862 https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679862#m1679862 <p>Hallo,</p> <blockquote> <p>Dann wären noch PI und Euler...</p> </blockquote> <p>... die aber streng mathematisch betrachtet hier nicht hingehören. Denn die gehören zu den reellen, nicht aber zu den rationalen Zahlen. Sie sind also nicht als Quotient zweier Ganzzahlen darstellbar, sondern immer nur näherungsweise (wie z.B. der gern verwendete Ersatzwert 22/7 für pi).</p> <blockquote> <p>Ob das Ergebnis der Divison durch diese Zahlen periodisch ist oder nicht kann man nicht <strong>zeigen</strong> weil die Periode unendlich lang wäre.</p> </blockquote> <p>Man kann aber umgekehrt argumentieren: Wäre die Dezimaldarstellung von pi oder e periodisch, dann gäbe es auch zwei Ganzzahlen (auch wenn sie sehr groß sein mögen), mit denen man pi oder e als Bruch exakt darstellen könnte.</p> <p>So long,<br>  Martin</p> <div class="signature">-- <br> Es gibt eine Theorie, die besagt, dass das Universum augenblicklich durch etwas noch Komplizierteres und Verrücktes ersetzt wird, sobald jemand herausfindet, wie es wirklich funktioniert. Es gibt eine weitere Theorie, derzufolge das bereits geschehen ist.<br> - (frei übersetzt nach Douglas Adams) </div> Ich erkärs Dir ... Sat, 12 Nov 16 11:05:58 Z https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679870#m1679870 https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679870#m1679870 <p>@@Google weiß alles</p> <blockquote> <p>Dann wären noch PI und Euler... Ob das Ergebnis der Divison durch diese Zahlen periodisch ist oder nicht kann man nicht <strong>zeigen</strong> weil die Periode unendlich lang wäre.</p> </blockquote> <p>?? Es gibt keine unendlich lange Periode.</p> <p>Es gibt periodische Dezimalbrüche – das sind die rationalen Zahlen. Und es gibt nichtperiodische Dezimalbrüche – das sind die irrationalen Zahlen.</p> <p>LLAP </p> <div class="signature">-- <br> <em>“I love to go to JS conferences to speak about how to avoid using JavaScript. Please learn CSS & HTML to reduce your JS code bloat.”</em> —Estelle Weyl </div> Ich erkärs Dir ... Sat, 12 Nov 16 09:56:11 Z https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679864#m1679864 https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679864#m1679864 <blockquote> <p>Man kann aber umgekehrt argumentieren: Wäre die Dezimaldarstellung von pi oder e periodisch, dann gäbe es auch zwei Ganzzahlen (auch wenn sie sehr groß sein mögen), mit denen man pi oder e als Bruch exakt darstellen könnte.</p> </blockquote> <p>So kannten römische Techniker die Näherung 22/7 für die "Kreiszahl" ... und seit dem wurde lang daran herumgerechnet.</p> Ich erkärs Dir ... Sat, 12 Nov 16 16:30:03 Z https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679914#m1679914 https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679914#m1679914 <p>Hallo Gunnar,</p> <blockquote> <blockquote> <p>das 2/63 eine Periode ergibt sagt mein Taschenrechner</p> </blockquote> </blockquote> <p><a href="https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679913#m1679913" rel="noopener noreferrer">da hab ich mich leider verschrieben</a>.</p> <blockquote> <p>Nein. Dein Taschenrechner zeigt sowas wie 0,03174603174603 an.</p> </blockquote> <p><a href="https://www.wolframalpha.com/input/?i=2%2F63" rel="nofollow noopener noreferrer">Nein.</a> (der von mir auf dem Handy benutzte Taschenrechner)</p> <blockquote> <p>Du kannst <strong>vermuten</strong>, dass es danach periodisch weitergeht, aber der Taschenrechner sagt das nicht.</p> </blockquote> <p><a href="http://support.casio.com/storage/de/manual/pdf/DE/004/fx-86_991DE_PLUS_DE.pdf" rel="nofollow noopener noreferrer">Doch.</a> (mein sozusagen „analoger“ Taschenrechner; siehe Seite 12)</p> <p>Wenn der Taschenrechner da einen Strich über die Zahlen drüber malt und das nicht wie ein Displayfehler aussieht, behaupte ich weiterhin „sagt der Taschenrechner“ und nicht „ich vermute“.<br> Taschenrechner sind heutzutage nicht mehr so groß wie ein Wohnzimmer und können häufig mehr als nur die Grundrechenarten und auf einfachste Art und Weise 10 Ziffern anzeigen.</p> <p>Gruß<br> Dennis</p> Ich erkärs Dir ... Sat, 12 Nov 16 17:37:20 Z https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679925#m1679925 https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679925#m1679925 <blockquote> <p>Wir reden hier von 3 verschiedenen Dingen. Du sprichst von left-most, inner-most, was sich auf die Auswertung von Funktionsargumenten bezieht, aber nicht auf die Auswertung von Ausdrücken als solches.</p> </blockquote> <p>Ich hab schon die Evaluierungsstrategie für Operanden gemeint, aber da hab ich mich wohl trotzdem geirrt und dir Unrecht getan.</p> Ich erkärs Dir ... Sat, 12 Nov 16 16:40:47 Z https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679915#m1679915 https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679915#m1679915 <p>Hallo,</p> <blockquote> <p>Taschenrechner sind heutzutage nicht mehr so groß wie ein Wohnzimmer</p> </blockquote> <p><strong>Taschen</strong>rechner waren noch nie so groß wie ein Wohnzimmer!</p> <p>Gruß<br> Kalk</p> Ich erkärs Dir ... Sat, 12 Nov 16 16:48:31 Z https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679916#m1679916 https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679916#m1679916 <p>@@Der-Dennis</p> <blockquote> <blockquote> <p>Nein. Dein Taschenrechner zeigt sowas wie 0,03174603174603 an.</p> </blockquote> <p><a href="https://www.wolframalpha.com/input/?i=2%2F63" rel="nofollow noopener noreferrer">Nein.</a> (der von mir auf dem Handy benutzte Taschenrechner)</p> </blockquote> <p>Das ist kein Taschenrechner – schon gar nicht „auf“ deinem Handy –, sondern eine schon recht umfangreiche Webapplikation.</p> <blockquote> <p><a href="http://support.casio.com/storage/de/manual/pdf/DE/004/fx-86_991DE_PLUS_DE.pdf" rel="nofollow noopener noreferrer">Doch.</a> (mein sozusagen „analoger“ Taschenrechner; siehe Seite 12)</p> </blockquote> <p>Die Anführungszeichen hätten um „Taschenrechner“ gehört. Auch dieser Rechner ist nicht das, was man gemeinhin unter Taschenrechner versteht.</p> <p>LLAP </p> <div class="signature">-- <br> <em>“I love to go to JS conferences to speak about how to avoid using JavaScript. Please learn CSS & HTML to reduce your JS code bloat.”</em> —Estelle Weyl </div> Ich erkärs Dir ... Sat, 12 Nov 16 18:38:27 Z https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679932#m1679932 https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679932#m1679932 <p>Hallo Kalk,</p> <blockquote> <blockquote> <p>Taschenrechner sind heutzutage nicht mehr so groß wie ein Wohnzimmer</p> </blockquote> <p><strong>Taschen</strong>rechner waren noch nie so groß wie ein Wohnzimmer!</p> </blockquote> <p><strong>Taschen</strong>rechner sehen auch gar nicht aus wie eine Tasche!! ;-)</p> <p>Gruß<br> Dennis</p> Ich erkärs Dir ... Sat, 12 Nov 16 16:58:40 Z https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679918#m1679918 https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679918#m1679918 <p>Hallo Gunnar Bittersmann,</p> <blockquote> <p>Die Anführungszeichen hätten um „Taschenrechner“ gehört. Auch dieser Rechner ist nicht das, was man gemeinhin unter Taschenrechner versteht.</p> </blockquote> <p>Zumindest in diesem Fall verstößt er nicht gegen die Einstufung als WTR durch das <a href="https://www.iqb.hu-berlin.de/bista/abi/bista/abi/mathematik/dokumente/" rel="nofollow noopener noreferrer">IQB</a>, dort <a href="https://www.iqb.hu-berlin.de/bista/abi/bista/abi/bista/abi/mathematik/dokumente/Aufgabensammlung_3.pdf" rel="nofollow noopener noreferrer">Hinweise zur Verwendung von Hilfsmitteln (PDF)</a>.</p> <p>Bis demnächst<br> Matthias</p> <div class="signature">-- <br> Dieses Forum nutzt Markdown. Im <a href="https://wiki.selfhtml.org" rel="nofollow noopener noreferrer">Wiki</a> erhalten Sie <a href="https://wiki.selfhtml.org/wiki/SELFHTML:Forum/Formatierung_der_Beitr%C3%A4ge" rel="nofollow noopener noreferrer">Hilfe bei der Formatierung Ihrer Beiträge</a>. </div> Ich erkärs Dir ... Sat, 12 Nov 16 17:00:16 Z https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679919#m1679919 https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679919#m1679919 <p>Hallo,</p> <blockquote> <blockquote> <p><a href="https://www.wolframalpha.com/input/?i=2%2F63" rel="nofollow noopener noreferrer">Nein.</a> (der von mir auf dem Handy benutzte Taschenrechner)</p> </blockquote> <p>Das ist kein Taschenrechner – schon gar nicht „auf“ deinem Handy –, sondern eine schon recht umfangreiche Webapplikation.</p> </blockquote> <p>Gibt es eigentlich irgendwo eine Angabe, wie groß "Wolfram Alphas Wohnzimmer" ungefähr ist?</p> <p>Gruß<br> Kalk</p> Ich erkärs Dir ... Sat, 12 Nov 16 18:40:34 Z https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679933#m1679933 https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679933#m1679933 <p>Hallo Gunnar,</p> <blockquote> <blockquote> <blockquote> <p>Nein. Dein Taschenrechner zeigt sowas wie 0,03174603174603 an.</p> </blockquote> <p><a href="https://www.wolframalpha.com/input/?i=2%2F63" rel="nofollow noopener noreferrer">Nein.</a> (der von mir auf dem Handy benutzte Taschenrechner)</p> </blockquote> <p>Das ist kein Taschenrechner</p> </blockquote> <p>hmm, eigentlich hätte ich Dir schon zugetraut, dass Du das auch ohne Smiley und lange Erklärungen verstehst. Vor allem weil Du normalerweise immer vorne mit dabei bist, wenn es um Veränderungen in Richtung mobiler Geräte geht. Aber gut, dann muss ich das nächste mal wohl doch wieder in den „Sendung mit der Maus“-Modus schalten ;-)</p> <p>Zusätzlich noch dazu: Mein Smartphone ist für mich eher mein Taschenrechner als „der richtige“ Taschenrechner. Auf jeden Fall habe ich das Handy häufiger in meiner Tasche als „den Richtigen“. Und rechnen kann das auch! :-)</p> <blockquote> <p>schon gar nicht „auf“ deinem Handy</p> </blockquote> <p>Wieso nicht? „Dat hap isch auf'm Händy“. Bei Berliner Schnauze wird hier doch auch nicht gemeckert? ;-)</p> <blockquote> <p>sondern eine schon recht umfangreiche Webapplikation.</p> </blockquote> <p>Ernsthaft? ;-)</p> <blockquote> <blockquote> <p><a href="http://support.casio.com/storage/de/manual/pdf/DE/004/fx-86_991DE_PLUS_DE.pdf" rel="nofollow noopener noreferrer">Doch.</a> (mein sozusagen „analoger“ Taschenrechner; siehe Seite 12)</p> </blockquote> <p>Die Anführungszeichen hätten um „Taschenrechner“ gehört. Auch dieser Rechner ist nicht das, was man gemeinhin unter Taschenrechner versteht.</p> </blockquote> <p>„Gemeinhin“ = „Was Gunnar darunter versteht oder jetzt gerade verstehen will“?</p> <p>Was ist denn ein Taschenrechner für Dich? Ich behaupte, das Ding ist ein Taschenrechner. Und außerdem bin ich mir ziemlich sicher, dass sich eine große Mehrheit findet, die sowas als Taschenrechner bezeichnet. Muss man nur mal kurz <em>in diesem Internet</em> nachsehen. Wobei ich natürlich nicht ausschließe, dass es Gruppen geben kann, die das anders sehen.</p> <p>Sollte es der Diskussion dienlich sein: In der Wikipedia (ja, ich weiß, das muss nichts heißen, ist aber evtl. wenigstens ein Anfang) steht: „Ein Taschenrechner ist eine tragbare, handliche elektronische Rechenmaschine, mit deren Hilfe numerische Berechnungen ausgeführt werden können.“</p> <p>Aber jetzt mal ganz im Ernst. Wo ist das Problem? Dass ich „nein, sehe ich anders“ gesagt habe? Dein Posting liest sich jedenfalls ziemlich patzig. Kann aber auch sein, dass ich da gerade Deine Schnauze (bevor das hier falsch rüberkommt: Berlinerisch = „Schnauze mit Herz“) nicht richtig einordne.</p> <p>Gruß<br> Dennis</p> Ich erkärs Dir ... Sat, 12 Nov 16 17:13:24 Z https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679921#m1679921 https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679921#m1679921 <p>@@Matthias Apsel</p> <blockquote> <blockquote> <p>Die Anführungszeichen hätten um „Taschenrechner“ gehört. Auch dieser Rechner ist nicht das, was man gemeinhin unter Taschenrechner versteht.</p> </blockquote> <p>Zumindest in diesem Fall verstößt er nicht gegen die Einstufung als WTR durch das <a href="https://www.iqb.hu-berlin.de/bista/abi/bista/abi/mathematik/dokumente/" rel="nofollow noopener noreferrer">IQB</a>, dort <a href="https://www.iqb.hu-berlin.de/bista/abi/bista/abi/bista/abi/mathematik/dokumente/Aufgabensammlung_3.pdf" rel="nofollow noopener noreferrer">Hinweise zur Verwendung von Hilfsmitteln (PDF)</a>.</p> </blockquote> <p>Die Apple Watch ist auch eine Uhr.</p> <p>Mit Betonung wahlweise auf „auch“ bzw. „Uhr“.</p> <p>LLAP </p> <div class="signature">-- <br> <em>“I love to go to JS conferences to speak about how to avoid using JavaScript. Please learn CSS & HTML to reduce your JS code bloat.”</em> —Estelle Weyl </div> Ich erkärs Dir ... Sat, 12 Nov 16 18:41:10 Z https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679934#m1679934 https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679934#m1679934 <p>Hallo Matthias,</p> <blockquote> <blockquote> <p>Die Anführungszeichen hätten um „Taschenrechner“ gehört. Auch dieser Rechner ist nicht das, was man gemeinhin unter Taschenrechner versteht.</p> </blockquote> <p>Zumindest in diesem Fall verstößt er nicht gegen die Einstufung als WTR durch das <a href="https://www.iqb.hu-berlin.de/bista/abi/bista/abi/mathematik/dokumente/" rel="nofollow noopener noreferrer">IQB</a>, dort <a href="https://www.iqb.hu-berlin.de/bista/abi/bista/abi/bista/abi/mathematik/dokumente/Aufgabensammlung_3.pdf" rel="nofollow noopener noreferrer">Hinweise zur Verwendung von Hilfsmitteln (PDF)</a>.</p> </blockquote> <p>das ist ein guter Hinweis. Aber ich denke, es gibt auch viele Taschenrechner, die zwar als unerlaubtes Hilfsmittel bei Prüfungen eingestuft sind, es sich aber dennoch um Taschenrechner handelt.</p> <p>Gruß<br> Dennis</p> Ich erkärs Dir ... Sat, 12 Nov 16 18:44:32 Z https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679936#m1679936 https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679936#m1679936 <p>Hallo Kalk,</p> <blockquote> <p>Gibt es eigentlich irgendwo eine Angabe, wie groß "Wolfram Alphas Wohnzimmer" ungefähr ist?</p> </blockquote> <p>wahrscheinlich deutlich größer als die meisten Wohnungen :-) Ich habe leider nichts aktuelles gefunden, im <a href="http://blog.wolframalpha.com/2009/05/12/the-computers-powering-computable-knowledge/" rel="nofollow noopener noreferrer">Blogpost zum Start (2009)</a> steht, dass es sechs Standorte sind und „Two supercomputers, just about 10,000 processor cores, hundreds of terabytes of disks, a heck of a lot of bandwidth, and what seems like enough air conditioning for the Sahara to host a ski resort.“ Ich vermute, weniger wird es in 7 Jahren eher nicht geworden sein :-)</p> <p>Gruß<br> Dennis</p> Ich erkärs Dir ... Sat, 12 Nov 16 18:43:10 Z https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679935#m1679935 https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679935#m1679935 <p>Hallo Gunnar,</p> <p>ich denke Dir wird auch niemand widersprechen, wenn Du „die Apple Watch ist eine Uhr“ sagst. Dann sollte es aber auch nicht falsch sein, wenn jemand „der Casio-Taschenrechner ist ein Taschenrechner“ sagt.</p> <p>Gruß<br> Dennis</p> Ich erkärs Dir ... Sat, 12 Nov 16 22:08:30 Z https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679952#m1679952 https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679952#m1679952 <p>:-) Hand reich...</p> Ich erkärs Dir ... Sat, 12 Nov 16 21:17:52 Z https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679943#m1679943 https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679943#m1679943 <p>Hallo,</p> <blockquote> <p><strong>Taschen</strong>rechner sehen auch gar nicht aus wie eine Tasche!! ;-)</p> </blockquote> <p>Ja, Taschenmesser und Taschentücher auch nicht. Und nun?</p> <p>Gruß<br> Kalk</p> Ich erkärs Dir ... Sat, 12 Nov 16 19:29:04 Z https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679939#m1679939 https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679939#m1679939 <p>@@Der-Dennis</p> <blockquote> <p>„Gemeinhin“ = „Was Gunnar darunter versteht oder jetzt gerade verstehen will“?</p> </blockquote> <p>Nein. „Gemeinhin“ = „Was außerhalb dieser Filterblase darunter verstanden wird“.</p> <p>Nur weil wir vielleicht in derselben Filterblase leben, heißt das nicht, dass das die große weite Welt wäre.</p> <blockquote> <p>Was ist denn ein Taschenrechner für Dich?</p> </blockquote> <p>Ohne zusätzliche Attribute so’n normales Dingens mit Plus und Minus. Von mir aus auch mit Winkel-, Potenz- und Logarithmusfunktionen. Aber nichts programmierbares, nichts mit Grafikdisplay für Funktionsplots u.a. Schnickschnack.</p> <blockquote> <p>Dein Posting liest sich jedenfalls ziemlich patzig.</p> </blockquote> <p>Wenn du mir Wolfram Alpha als Taschenrechner verkaufen willst, hab ich wohl allen Grund dazu. ;-)</p> <p>LLAP </p> <div class="signature">-- <br> <em>“I love to go to JS conferences to speak about how to avoid using JavaScript. Please learn CSS & HTML to reduce your JS code bloat.”</em> —Estelle Weyl </div> Ich erkärs Dir ... Sat, 12 Nov 16 21:06:22 Z https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679942#m1679942 https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679942#m1679942 <p>Hallo Gunnar,</p> <blockquote> <p>Nein. „Gemeinhin“ = „Was außerhalb dieser Filterblase darunter verstanden wird“.</p> <p>Nur weil wir vielleicht in derselben Filterblase leben, heißt das nicht, dass das die große weite Welt wäre.</p> </blockquote> <p>ach komm schon :-) Das mit der Filterblase ist richtig, das ist tatsächlich häufig ein Problem, aber doch nicht in diesem Fall hier, oder? Und nein, tiefster Urwald o.ä. zählt nicht, da würden auch andere Modelle nicht erkannt werden.</p> <p>Mal unabhängig davon, dass ich das Ding nicht besonders toll finde und das nur aus der Schublade geholt hab, weil ich wusste, dass das auch eine Periode anzeigt (und ich normalerweise den Casio fx-85ES benutze, der mir mein Studium über treue Dienste erwiesen hat; der sieht so ähnlich aus wie der andere, kann aber weniger):</p> <p>Damit alle wissen worum es geht, so hier sieht das angesprochene Ding aus <sup class="footnote-ref"><a href="#fn1" id="fnref1">[1]</a></sup>:</p> <p><img src="https://upload.wikimedia.org/wikipedia/commons/thumb/6/6b/CASIO_fx-991DE_PLUS.jpg/158px-CASIO_fx-991DE_PLUS.jpg" alt="Taschenrechner" title="Taschenrechner" loading="lazy"></p> <p>Und jetzt mal die Gründe, warum ich sowas als Taschenrechner bezeichne. Und danach erklärst Du mir die Filterbubble ;-)</p> <ul> <li>Für mich sieht das Ding wie ein Taschenrechner aus ;-)</li> <li>Casio ist ein bedeutender Hersteller für Taschenrechner (wen gibt es da noch so? HP, Sharp, TI, dann hört es bei mir was die Größe des Herstellers angeht schon auf); und dieser Hersteller für Taschenrechner bringt nun ein Gerät auf den Markt, das er selbst als Taschenrechner bezeichnet</li> <li>Geht man in einen Elektronikmarkt oder ähnliches, liegt dieses Gerät im Regal für Taschenrechner aus</li> <li>Sucht man im Internet, findet man (oder nur ich?) ausschließlich Händler, die dieses Gerät als Taschenrechner anpreisen und zum Verkauf anbieten</li> <li>Das Ding taucht in etlichen Tests für? Genau, Taschenrechner auf</li> <li>Es ist auf etlichen Listen von Schulen und Unis in der Kategorie „Taschenrechner“ gelistet</li> <li>Wenn Du Dich mit so einem Teil auf die Straße stellst und willkürlich Passanten ansprichst, was das sei, wirst Du mit großer Wahrscheinlichkeit „Wat willst Du denn? Willste mich für blöd verkaufen? ‘n Taschenrecher natürlich“ oder ähnliches als Antwort bekommen</li> </ul> <p>So, ich hoffe das reicht :-) Und jetzt freue ich mich auf die Filterblase. Im Anschluss kannst Du dann bitte auch noch erklären, wie das mit den kleinen weißen Mäusen ist, die die Welt beherrschen. Ich suche mir schon mal ein Handtuch ;-)</p> <blockquote> <blockquote> <p>Was ist denn ein Taschenrechner für Dich?</p> </blockquote> <p>Ohne zusätzliche Attribute so’n normales Dingens mit Plus und Minus. Von mir aus auch mit Winkel-, Potenz- und Logarithmusfunktionen. Aber nichts programmierbares, nichts mit Grafikdisplay für Funktionsplots u.a. Schnickschnack.</p> </blockquote> <p>Ja, gut, kann ich nachvollziehen. Außer Integralrechnung kann der aber auch nichts weiter, auch nicht sowas wie Funktionsplots. Diese „grafischen Displays“ sind eh Müll. Die sind nur für die nachfolgenden Generationen, die wegen der modernen Technik keine Klammern mehr setzen können ;-) Nein, quatsch, so schlimm ist es nicht. Aber diese Displays taugen wirklich nichts: Man braucht ewig, um da was einzugeben, wenn man das nutzt. Außerdem ist ganz schnell der Speicher voll, man kann nichts mehr eingeben und wieder von vorne anfangen. Und erkennen kann man auch nichts, „soo grafisch“ sind die nämlich nicht. Das sind eigentlich nur zwei- bis vierzeilige (?) Displays wie man sie auch von „Deinem“ Taschenrechner kennt. Ich brauche und nutze das jedenfalls nicht. Dürfte aber mittlerweile bei den meisten neueren Modellen Standard sein. Das einzige, was ich selbst tatsächlich als praktisch empfinde, ist das Umschalten zwischen Dezimal- und Bruchdarstellung.</p> <blockquote> <blockquote> <p>Dein Posting liest sich jedenfalls ziemlich patzig.</p> </blockquote> <p>Wenn du mir Wolfram Alpha als Taschenrechner verkaufen willst, hab ich wohl allen Grund dazu. ;-)</p> </blockquote> <p>Ich finde das tatsächlich gar nicht so abwegig, wenn man das von einem Mobiltelefon aus aufruft. Auch wenn das vorher tatsächlich nicht ganz ernst gemeint war und ich Dir deshalb noch zusätzlich einen „echten Taschenrechner“ dazu geliefert habe ;-) Aber gut, der Punkt geht an Dich.</p> <p>Gruß<br> Dennis</p> <hr class="footnotes-sep"> <section class="footnotes"> <ol class="footnotes-list"> <li id="fn1" class="footnote-item"><p>DerComputerChecker <a href="http://creativecommons.org/licenses/by-sa/3.0" rel="nofollow noopener noreferrer">CC BY-SA 3.0</a>, via Wikimedia Commons <a href="#fnref1" class="footnote-backref">↩︎</a></p> </li> </ol> </section> Ich erkärs Dir ... Sat, 12 Nov 16 21:29:53 Z https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679946#m1679946 https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679946#m1679946 <p>Hallo Kalk,</p> <blockquote> <blockquote> <p><strong>Taschen</strong>rechner sehen auch gar nicht aus wie eine Tasche!! ;-)</p> </blockquote> <p>Ja, Taschenmesser und Taschentücher auch nicht. Und nun?</p> </blockquote> <p>es gibt Taschenmessertaschen und Taschentüchertaschen!</p> <p>Gruß<br> Dennis</p> Ich erkärs Dir ... Sat, 12 Nov 16 21:41:57 Z https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679950#m1679950 https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679950#m1679950 <p>Hallo,</p> <blockquote> <p>es gibt Taschenmessertaschen und Taschentüchertaschen!</p> </blockquote> <p>ja, aber die Messertasche ist gar nicht scharf und in die Tüchertasche hab ich auch lange nicht mehr reingeschnäuzt!</p> <p>Gruß<br> Kalk</p> Ich erkärs Dir ... Sat, 12 Nov 16 22:11:44 Z https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679953#m1679953 https://forum.selfhtml.org/self/2016/nov/11/addition-gleich-addition-warum/1679953#m1679953 <p>Hallo Kalk,</p> <blockquote> <p>ja, aber die Messertasche ist gar nicht scharf und in die Tüchertasche hab ich auch lange nicht mehr reingeschnäuzt!</p> </blockquote> <p>messerscharf erkannt, dass schnäuzende Schnauzer zum schnauzen weder Schnäuzer noch Schnauztüchertaschen brauchen.</p>