Wert nach einem bestimmten Satz in einer txt datei suchen
-
64bit
-
BoomC schrieb:
64bit
Begründe doch mal, wieso man 64 Bit braucht, um Pi darzustellen. Warum reichen 63 nicht? Sind 65 zu viel?
-
Ich schon zwei mal gesagt das ich noch ein Anfänger bin.
Ich weiss nur das PI 13 stellen hat un ein float zu klein und ein long double könnte gehen jedoch ist das Speicherverschwendung.
-
BoomC schrieb:
Ich schon zwei mal gesagt das ich noch ein Anfänger bin.
Ich weiss nur das PI 13 stellen hat un ein float zu klein und ein long double könnte gehen jedoch ist das Speicherverschwendung... die wollen Dich auf den Arm nehmen

PI hat als numerische Größe unendlich viele Stellen und kein Computer im Universum kann PI als Zahl exakt darstellen.Bei der Ausgabe einer Zahl (z.B. per
std::cout) wird diese mit einer (maximalen) festen Anzahl von Ziffern dargestellt (Default=6). Schau Dir mal setprecision an.Gruß
Werner
-
Werner Salomon schrieb:
BoomC schrieb:
Ich schon zwei mal gesagt das ich noch ein Anfänger bin.
Ich weiss nur das PI 13 stellen hat un ein float zu klein und ein long double könnte gehen jedoch ist das Speicherverschwendung... die wollen Dich auf den Arm nehmen

Jain. Eigentlich wollte ich durch die Gegenfrage eine Reflektion über die Unsinnigkeit der Antwort "64" anregen. Ich hatte halt nicht im geringsten erwartet, dass dem TE tatsächlich das nötige mathematische Wissen fehlt. Dadurch sieht mein Beitrag jetzt bösartiger aus als er gedacht war, weil meine sarkastische Bemerkung unanbsichtlich genau ins Schwarze getroffen hat.
-
Das wusste ich auch,dache nur ich sollte PI darstellen (3.14159265359) egal.
Find ich toll von den Moderatoren wie hilfreich sie sind...machen sich lustig über mich. Danke Werner Salomon für den link ich werde es gleich ausprobieren.
-
BoomC schrieb:
Das wusste ich auch,dache nur ich sollte PI darstellen (3.14159265359) egal.
Aber das ist nicht Pi! Schon Captain Kirk hat anno 1966 Computer damit verwirrt, dass sie Pi bis zur letzten Stelle berechnen sollten. So etwas ist Allgemeinwissen!
-
BoomC schrieb:
Das wusste ich auch,dache nur ich sollte PI darstellen (3.14159265359) egal.
http://pi314.at/math/100000digits.html
Das sind nur einige Stellen von pi, es gibt unendlich viele!
-
"setprecision" ist nur für die Ausgabe damit der User alle Zahlen sehen kann und Programmintern sind schon alle im double drin...hab ich das richtig vertanden?
Und die Anweisung
cout<<"x="<<setprecision(5) <<koordinaten[0];geht nicht.
-
"geht nicht" geht nicht.
Falls du nicht verstehst, was ich damit meine: Eben das ist das Problem.
-
BoomC schrieb:
"setprecision" ist nur für die Ausgabe damit der User alle Zahlen sehen kann und Programmintern sind schon alle im double drin...hab ich das richtig vertanden?
Wobei alle Zahlen nicht alle Zahlen sind, sondern nur die ersten bzw. auch falsche Ziffern.
Und die Anweisung
cout<<"x="<<setprecision(5) <<koordinaten[0];geht nicht.
Wie solls auch gehen? Das ist Code, der hat keine Beine.

-
Nathan schrieb:
Wie solls auch gehen? Das ist Code, der hat keine Beine.

Und wie macht man ihn Beine? :p
-
BoomC schrieb:
"setprecision" ist nur für die Ausgabe damit der User alle Zahlen sehen kann und Programmintern sind schon alle im double drin...hab ich das richtig vertanden?
Ja - bzw. fast ja. Im double ist die Zahl drin, die Deiner Eingabe am nächsten kommt.
BoomC schrieb:
Und die Anweisung
cout<<"x="<<setprecision(5) <<koordinaten[0];geht nicht.
wahrscheinlich fehlt #include <iomanip> - bitte Hilfe ganz durchlesen!
-
Werner Salomon schrieb:
wahrscheinlich fehlt #include <iomanip> - bitte Hilfe ganz durchlesen!
#include <iostream> #include <fstream> #include <string> #include <limits> // std::numeric_limits<> #include <iomanip> int zaehler=0; void da(double x,double y){ using namespace std; while (zaehler != 2) { double koordinaten[2] = {0,0}; koordinaten[zaehler]=x; zaehler++; koordinaten[zaehler]=y; zaehler++; cout<<"x="<<setprecision(9) <<koordinaten[0]; cout<<setprecision(9) <<" y="<<koordinaten[1]<<endl;ist drin.
-
.. dann geht's auch. Rufe die Funktion '
da' mal mitda(1./7,46./3);auf
-
.. sei noch bemerkt, dass Du die Funktion
da()nur genau einmal aufrufen darfst - beim nächsten Mal liefert sie Muell und macht den Speicher kaputt.
-
Werner Salomon schrieb:
.. sei noch bemerkt, dass Du die Funktion
da()nur genau einmal aufrufen darfst - beim nächsten Mal liefert sie Muell und macht den Speicher kaputt.Das ist es gewesen.
-
BoomC schrieb:
Das ist es gewesen.
Genau aus diesem Grund haben uns die Altvorderen vor globalen Variablen gewarnt. Damit funktioniert das einfachste Testprobgramm nicht mehr.
-
So kann ich den Zaehler auch bequem aus der main und anderen Methoden bearbeiten.
-
BoomC schrieb:
So kann ich den Zaehler auch bequem aus der main und anderen Methoden bearbeiten.
Genau dies ist es, wovor gewarnt wird. Zurecht, denn es ist die unmittelbare Ursache deines Fehler. Gewöhn es dir gar nicht an. Nicht aus Faulheit und auch nicht aus anderen Gründen. Die Fälle, in denen globale Variablen tatsächlich nötig sind, kannst du an einer Hand abzählen und keiner davon sollte einem Anfänger begegnen. Ich bin sogar überrascht, dass du diese Technik überhaupt kennst. Wo hast du das beigebracht bekommen?
Von diesem Moment an darf keines deiner Programme jemals mehr eine globale Variable enthalten. Und auch kein goto, new[], delete[], malloc, free, printf, scanf, sonstige cstdio und stdio.h-Funktionen, atoi, itoa, string.h-Funktionen, cstring-Funktionen, fflush(stdin), C-Style-Casts (d.h. Casts mit dem Typen in Klammern) oder void main.
~Absolute dogmatische Aussagen sind gut, um unerfahrene Anhänger zu leiten. Der innere Zirkel um die Hohepriesterschaft weiß, wo die Regeln herkommen und in welchen Fällen man sie ein bisschen beugen darf.~