Das hat doch überhaupt nichts mit Frauen, Kleidung oder Feminismus zu tun!

Es gibt immer Leute, die über andere lästern, aus welchen - an den Haaren herangezogenen - Gründen auch immer. Schiefe Zähne, Akne, Brillenträger, zu hohe / tiefe Stimme, Dialekt / Akzent, nicht-mainstream Geschmack im Bezug auf Klamotten, Literatur, Nahrungsmittel, Mobiliar, Verträumtheit, zu ruhig / zu aufgedreht, ... es gibt NICHTS worüber sich andere Leute nicht das Maul zerreißen würden.

Da steht man drüber und ignoriert es. Punkt. Es sei denn, man hat zu viel lange Weile und kein Hobby, in das man seine Zeit lieber investiert, als sich Gedanken um anderer Leute Gedanken zu machen. :)

...zur Antwort

Gleitpunktzahlen sind bei den meisten Programmiersprachen - ohne zusätzliche Drittbibliotheken - grundsätzlich nicht als genau anzusehen.

Allerdings liegt das Problem bei dir vermutlich eher an der Ausgabe, als an der Berechnung.

Probiere mal:

cout.precision(8);

cout << deineZahl << endl;

... oder falls du das alte C-API nutzt:

printf("%.8f\n", deineZahl);

In jedem Fall solltest du verstehen, dass ein Computer mit Gleitpunktzahlen prinzipbedingt nicht genau rechnen kann, sondern nur näherungsweise an die richtige Lösung ran kommt. Für alles andere müsstest du "irrationale Zahlen" in Form von "Formeln" akzeptieren, aber "reelle Zahlen" haben nun mal einen begrenzt gültigen Bereich, erst recht, innerhalb der CPU eines Computers.

Beispiel:

if (0.1 + 0.1 + 0.1 == 0.3) {
  cout << "Gleich! :)" << endl;
} else {
  cout << "Ungleich! :(" << endl;
}

Ich habe das jetzt nicht getestet, würde aber wetten, dass dabei "Ungleich!" ausgegeben wird. Warum das so ist, findest du hier:

https://de.wikipedia.org/wiki/IEEE_754

Außerdem solltest du dich damit beschäftigen, wie du die Ausgabe von Werten formatieren kannst, sowohl bei C++-Streams, als auch bei der printf()-Familie aus C:

https://en.cppreference.com/w/cpp/io/ios_base/precision

... und ...

https://en.cppreference.com/w/cpp/io/c/fprintf

Viel Spaß! :)
...zur Antwort
Ist nütlich

Genau genommen ist das keine Meinungsfrage, sondern die positive Aufwand / Nutzen Bilanz ein wissenschaftlicher Fakt.

Natürlich gibt es immer auch Impfgegner, die mit den Grundrechenarten nicht so ganz klar kommen, und dann mit ihren Zahlen schon um den Faktor von einigen Zehntausend daneben liegen (siehe dazu meinen Kommentar unter der Antwort von PolluxHH), aber die muss man ja auch nicht ernst nehmen. :)

...zur Antwort

Ich arbeite als Software-Entwickler seit ca. 30 Jahren und habe noch lange nicht das Gefühl, "ausgelernt" zu haben, und so wie es aussieht, wird dieser Zustand auch noch mindestens die nächsten 30 Jahre anhalten. :)

Programmiersprachen entwickeln sich meistens weiter, was in neuen Sprachfeatures, Paradigmen und vor allem Bibliotheksfunktionalitäten mündet. Hinzu kommt das ganze drum und dran.

Früher dachte ich immer, dass ich meine jeweilige Programmiersprache nach wenigen Wochen / Monaten beherrschen würde, inzwischen weiß ich, dass "beherrschen" ein Zustand ist, den man realistisch betrachtet nicht erreichen kann. Du kannst dem nur - mehr oder weniger - nahe kommen.

Ich denke, dass ich da schon ausreichend nahe dran bin, aber das ist noch lange kein Grund, nicht weiter zu lernen.

Aber um letztendlich doch noch deine Frage halbwegs zu beantworten: Bis ich mit einer Programmiersprache so ungefähr das anstellen konnte, was ich mir vorgestellt habe, hat Anfangs viele Monate gedauert, mittlerweile benötige ich für neue Sprachen nur noch wenige Wochen, bin dann aber wohlgemerkt noch WEIT von dem entfernt, was ich als "können" bezeichnen würde.

Meine Erfahrung ist übrigens, dass die meisten Programmierer nicht wirklich gut programmieren können, und nicht mal ihre Hauptprogrammiersprache in ausreichendem Maße kennen. Software-Entwicklung ist vermutlich DIE Branche, in denen die meisten Dilettanten arbeiten, sich allerdings selber für unglaublich "fähig" halten.

Mit Abstand in den meisten (!) Firmen, findet man leider nur unteres Mittelmaß. Mehr nicht. Das ist sehr schade. Ich muss oft Software-Audits machen, und gefühlt würde ich schätzen, dass 90% aller Unternehmen eine katastrophal fehldesignte Codebasis haben, von herkömmlichen Bugs durch mangelndes Testing, usw. mal völlig abgesehen. Das ist aber zu großen Teilen die Schuld des Managements und weniger der Entwickler, die vor unmögliche Aufgaben gestellt werden.

Fazit: So richtig "gute" Entwickler, musst du mit der Lupe suchen. Für den meisten Pfusch reicht aber das, was du in den meisten Firmen vorfindest. Was am Ende dabei raus kommt, siehst du ja tagtäglich, wenn du dir mal die Artikel in der Fachpresse zu Security-Alerts durchliest ... und das sind meist große Firmen, die richtig viel Geld in die Weiterbildung ihrer Entwickler investieren.

Denk mal lieber gar nicht erst an die hippe Startup-Klitsche, aus Berlin-Mitte, die ihre neue App mit Social-Media-Anbindung vermarktet, womit User jederzeit über die Cloud irgendeinen Bullshit machen können, der am besten noch etwas mit KI und Blockchain zu tun hat.

Lange Rede, kurzer Sinn: Als Softwareentwickler hat man NIE auch nur annähernd ausgelernt, und die meisten sind einfach so schlecht, als dass man sie wenigstens als "mäßig" bezeichnen könnte. (Disclaimer: Natürlich gibt es auch richtig gute Leute, keine Frage! Aber die gehen im Meer der Unfähigen fast schon unter, und können sich dank stupidem BWL-Futzi aus dem Management meist auch überhaupt nicht entfalten!)

...zur Antwort
Weitere Inhalte können nur Nutzer sehen, die bei uns eingeloggt sind.