Hier behauptet jemand ein geniales neues Zahlenformat erfunden zu haben: http://forums.tigsource.com/index.php?topic=32165.0 Zusätzlich ist er noch in der Lage fehlerfreie Software zu schreiben: http://forums.tigsource.com/index.php?topic=28284.15 Was haltet ihr davon?
Wenn Leute in Foren solche Sachen schreiben, sind sie entweder trivial oder der Typ ist ein echter Spinner. Ein neues Zahlenformat kann jeder Erfinden, und wenn das nur zwischen -1 und 1 sein muss, dann nimmt man halt ein Festkommaformat her. Das ist nichts Besonderes. Selbst sein eigenes Fließkommaformat kann man mal selber machen. (Ahh Entschuldigung, ich sehe auch, dass er für die Mantisse eine Fließkommazahl verwendet.... Nein, der hat nichts verstanden, der Typ ist höchstwahrscheinlich ein Idiot) Fehlerfreie Software (bei mehr als 1000 Programmzeilen) zu schreiben ist nur mit sehr großem Aufwand möglich. Darüber wird ernsthaft noch wissenschaftlich geforscht. Mit sehr hoher Wahrscheinlichkeit ist der Typ einer Selbsttäuschung erlegen. Das passiert jedem mal.
RobertK schrieb: > Was haltet ihr davon? Typisches Foren-Blabla. Und was macht er mit Bugs die er nicht entdeckt? ;)
Wenn sich jemand über Präzission auslässt und dann float verwendet, brauch ich gar nicht länger drüber nachdenken, was ich von ihm halten soll. Du willst keine float verwenden! Es gibt nur einen einzigen Grund, warum man sich float antut: weil man Milliarden von ihnen gleichzeitig im Speicher halten muss. Aber ansonsten nimmt man in allen anderen Fällen double. Das ist für größere, insbesondere Itertive Berechnungen schon trickreich genug, aber einen float mit seinen 5 bis 6 signifikanten Stellen, die nach den erste 10 Operationen nur noch 4 bis 5 signifikante Stellen sind, dazu herzunehmen UND sich dann über Rechengenauigkeit auslassen ...... BTW: Das IEEE Floating Point Format (ich weiß jetzt die Nummer nicht auswendig), wurde extra so designed, damit es ganze Zahlen bis zu einer gewissen Größe exakt darstellen kann. Schon mal gefragt, warum im IEEE Format die Mantisse eine implizit vorstehende 1 hat und somit immer Zahlen zwischen 1.0 und 2.0 darstellt? Genau aus diesem Grund. Der Typ scheint mir noch sehr jung zu sein. Seltsamerweise muss ich jetzt an einen Kollegen aus meiner Studienzeit denken, der auch immer alles besser wusste. Seine 20 Zeilen Übungsaufgaben waren auch immer perfekt ausgearbeitet und die Übungsleiter hatten sowieso keine Ahnung, wenn sie die Genialität seiner Lösung nicht zu würdigen wussten. Vergiss ihn einfach. Solche Typen gibt es überall. Um die musst du dir nur Gedanken machen, wenn du mit ihnen arbeiten musst. Denn im Regelfall endet das damit, dass andere ihre Arbeit machen müssen, denn er kann ja schliesslich nichts dafür, wenn der Rest der Mannschaft es nicht schafft, den neuen Hack, den er da gerade geschaffen hat, so zu verwenden wie er sich das vorgestellt hat und deshalb nichts funktioniert. Seine Software ist auf jeden Fall nicht schuld und das Ergebnis der Funktion ist schon richtig, wenn man bedenkt dass .... kurz und gut: Ihr arbeitet euch um meine frisch eingeführten 'Probleme' (die in Wirklichkeit ja keine sind) rundherum anstatt das ich die Dinge so mache, wie alle anderen auch. Das ist doch trivial einzusehen, dass man in einer linearen Liste immer am Medianpunkt neue Knoten einfügen sollte und nicht hinten, da musst du halt deine 40 neuen Knoten entsprechend vorsortieren, damit das dann nachher in der richtigen Reihenfolge rauskommt, aber dieser Einfügepunkt in der Mitte der Liste, der bleibt und hinten anhängen kommt überhaupt nicht in Frage .....
Karl Heinz Buchegger schrieb: > Seltsamerweise muss ich jetzt an einen Kollegen aus meiner Studienzeit > denken, der auch immer alles besser wusste. Und heute ist er Milliardär? Oder hast du nie wieder was von ihm gehört? Ich habe auch schon eine Reihe Leute kennengelernt, die der festen Überzeugung waren, verglichen mit ihnen sei Bill Gates geistig zurückgeblieben. Keiner hat es jeh zu was gebracht. Gruss Reinhard
Reinhard Kern schrieb: > Karl Heinz Buchegger schrieb: >> Seltsamerweise muss ich jetzt an einen Kollegen aus meiner Studienzeit >> denken, der auch immer alles besser wusste. > > Und heute ist er Milliardär? Oder hast du nie wieder was von ihm gehört? :-) Letzteres. Vor einigen Jahren hab ich mal einen Programmierer kennen gelernt, das war vielleicht ein Kauz, der mir seine Software wie warmes Brot angepriesen hat. Ich weiß nicht mehr worum es in diesem Projekt gegangen wäre, egal, jedenfalls war seine Aussage, er hätte ein Programm, mit dem er jede andere Software 'fernsteuern' könne. Das wollte ich mir nicht entgehen lassen. Es stellte sich heraus, dass seine Software aus einem Array mit Pointern besteht, die er (wie auch immer er das gemacht hat) in den anderen Prozessraum gemappt hat, und dann frisch fröhlich fromm frei ganz einfach dort im Speicher rum-gepoked hat. Das war das erste und einzige mal, dass ich bei einem Kunden laut geworden bin - mein Chef hat es mir verziehen.
Die Typen kenne ich auch zur Genüge. Nur von mir hat die Welt leider auch nichts gehört 8( Blackbird
RobertK schrieb: > Was haltet ihr davon? Ein wenig amüsant, kann man sich zum Zeitvertreib durchlesen. Hat aber halt nicht das Flair von jemandem, der die Relativitätstheorie und nebenbei noch die Quantenphysik widerlegt. Der Typ besteht ja auch noch darauf, dass es keine exakte float-Darstellung für die Null gibt. Also offensichtlich keine Ahnung von nix.
Ich bin der festen Überzeugung, dass man theoretisch fehlerfreie Software schreiben kann. Die Probleme treten immer erst später auf. Z.B. beim Abgabetermin oder wenn die dummen User mal wieder nicht meine, sondern eine ganz andere Taste betätigen, oder noch schlimmer, wenn sich die Inputdaten nicht an die Regeln halten. Kurz: Ohne E + V + A geht’s gut.
amateur schrieb: > Ich bin der festen Überzeugung, dass man theoretisch fehlerfreie > Software schreiben kann. UÎch arbeite jetzt 25 Jahre in der Software-Entwicklung. Eine fehlerfreie Software ist mir aber noch nie untergekommen. Grüsse, R.
Was ich an seinen Ausführungen noch verstehe, ist seine Forderung nach Unabhängigkeit des absoluten Darstellungsfehlers von der Größe der Zahl. Diese Forderung wäre aber mit Festkommazahlen (bspw. 32.32) perfekt erfüllt. Irgendwie scheint es für ihn aber von Vorteil zu sein, dass die Genauigkeit der Zahlendarstellung in der Nähe der ganzen Zahlen (also bspw. bei 4,999 oder 5,001) höher ist als dazwischen (bspw. bei 4,5). Das wäre mit der Kombination aus Integer- und Float-Zahl prinzipiell gegeben. Allerdings verstehe ich seine dazu gelieferten Gründe nicht bzw. kann sie nicht nachvollziehen. Andreas B. schrieb: > Der Typ besteht ja auch noch darauf, dass es keine exakte > float-Darstellung für die Null gibt. Ja, damit ist er in eine selbst gestellte Falle getreten, aus der er im Anschluss verzweifelt, aber erfolglos versucht, sich wieder herauszuwin- den :)
Blackbird schrieb: > Nur von mir hat die Welt leider auch nichts gehört Studiere mal den Werdegang von Kim Dotcom. Leider ist der ausgewandert, sonst wäre er garantiert bei uns zum Unternehmer des Jahres gewählt worden. Irgendwas machen wir beide falsch. Gruss Reinhard
Kann es sein, dass dieser Typ gerade eine amateurhafte PR-Kampagne durchführt? Ich bin beim rumsuchen auf einen Thread in einem anderen Forum gestoßen, der mit einem sehr ähnlichen Post eröffnet wurde, vier Minuten(!) vor diesem hier und ebenfalls von einem unregistrierten Nutzer: http://www.c-plusplus.de/forum/314789
amateur schrieb: > Ich bin der festen Überzeugung, dass man theoretisch fehlerfreie > Software schreiben kann. Theoretisch. > Die Probleme treten immer erst später auf. Z.B. beim Abgabetermin oder > wenn die dummen User mal wieder nicht meine, sondern eine ganz andere > Taste betätigen, oder noch schlimmer, wenn sich die Inputdaten nicht an > die Regeln halten. Das ist alles kein Problem. Diese Dinge muss man als Profi sowieso unter Kontrolle haben. Das Problem steckt wo anders. Kleine Programme von vielleicht 50 oder 100 oder 200 Zeilen können Programmierer noch einigermassen überblicken. Werden Projekte aber größer, dann steigt die Komplexität schneller als wir Menschen das noch überblicken, alle Nebeneffekte abschätzen bzw. ins Kalkül ziehen könnten. Genau darauf basiert ja einer der Gründe für die große Popularität der OOP-Sprachen. Weil man da bereits mit Sprachmitteln in sich abgeschottete Module bauen kann und so die Neben- und Quereffekte etwas unter Kontrolle halten kann. Und zwar so, dass einem der Compiler auf die Finger klopft und man nicht auf freiwillige Selbstdisziplin angewiesen ist. Aber auch da bleibt noch genügend Spielraum, dass man von der Komplexität überfahren wird. Und dann kommt natürlich noch der unvermeidliche Schlendrian dazu.
Christian Berger schrieb: > Fehlerfreie Software (bei mehr als 1000 Programmzeilen) zu schreiben ist > nur mit sehr großem Aufwand möglich. Darüber wird ernsthaft noch > wissenschaftlich geforscht. Mit sehr hoher Wahrscheinlichkeit ist der > Typ einer Selbsttäuschung erlegen. Das passiert jedem mal. Wobei, eigentlich ist relativ viel Software fehlerfrei. Denn bekannte Fehler wurden behoben, neue noch nicht entdeckt ;)
Karl Heinz Buchegger schrieb: > Du willst keine float verwenden! Es gibt nur einen einzigen Grund, warum > man sich float antut: weil man Milliarden von ihnen gleichzeitig im > Speicher halten muss. Aber ansonsten nimmt man in allen anderen Fällen > double. Es ging allerdings um Spieleprogrammierung. Einerseits hat man da tatsächlich eine sehr große Anzahl in Form von u.A. 3D-Modellen, andererseits werden heute sehr viele der Berechnungen in der Grafikkarte durchgeführt. Die können zwar heute auch double, sind aber vor allem im Consumberbereich erheblich langsamer als bei float. Außerdem ist der Grafikspeicher meist kleiner als der Hauptspeicher und muß auch noch die ganzen Texturen beherrbergen, und man muß Bus-Bandbreite sparen. > BTW: Das IEEE Floating Point Format (ich weiß jetzt die Nummer nicht > auswendig), wurde extra so designed, damit es ganze Zahlen bis zu einer > gewissen Größe exakt darstellen kann. Schon mal gefragt, warum im IEEE > Format die Mantisse eine implizit vorstehende 1 hat und somit immer > Zahlen zwischen 1.0 und 2.0 darstellt? Genau aus diesem Grund. Ich dachte, es sei einfach eine Analogie zur wissenschaftlichen Zahlendarstellung, wo man 1 bis 9.9999... * 10 hoch irgendwas schreibt. Da float auf Dualzahlen basiert, ist es halt 1 bis 1.9999... * 2 hoch irgendwas. > Der Typ scheint mir noch sehr jung zu sein. > Seltsamerweise muss ich jetzt an einen Kollegen aus meiner Studienzeit > denken, der auch immer alles besser wusste. In gewissem Rahmen passiert es denke ich jedem, daß er, wenn er mit einem Thema relativ neu angefangen hat, meint, er hätte die absolut geniale Idee, auf die noch keiner vorher gekommen ist und die alles revolutionieren könnte. Unterschiede gibt es dann darin, wie man damit umgeht, und natürlich darin, ob die Idee tatstächlich so revolutionär ist. ;-) Yalu X. schrieb: > Was ich an seinen Ausführungen noch verstehe, ist seine Forderung nach > Unabhängigkeit des absoluten Darstellungsfehlers von der Größe der Zahl. > Diese Forderung wäre aber mit Festkommazahlen (bspw. 32.32) perfekt > erfüllt. Er will sie nur in bestimmten Situationen, und was er da beschreibt, sind eigentlich Festkommazahlen. "The physical position of resting objects is actually snapped to the "full" part. It is scaled to your needs, like milimeter resolution.". Eine Festkommazahl ist ja nichts anderes als eine Ganzzahl, die "to your needs" skaliert ist. Yalu X. schrieb: > Irgendwie scheint es für ihn aber von Vorteil zu sein, dass die > Genauigkeit der Zahlendarstellung in der Nähe der ganzen Zahlen (also > bspw. bei 4,999 oder 5,001) höher ist als dazwischen (bspw. bei 4,5). > Das wäre mit der Kombination aus Integer- und Float-Zahl prinzipiell > gegeben. Allerdings verstehe ich seine dazu gelieferten Gründe nicht > bzw. kann sie nicht nachvollziehen. Ich denke, teilweise zu verstehen, was er will. Es geht um ein Spiel durch das sich Objekte bewegen (z.B. der Spieler). Dazu muß zyklisch die neue Position des Objekts basierend auf seiner Geschwindigkeit ermittelt werden. Letztendlich ist es eine Integration bzw. zeitdiskret dann ein zyklisches Aufaddieren des Geschwindigkeitsvektors auf die Position. Damit addieren sich aber auch Fehler auf. Damit das auch bei unterschiedlichen Geschwindigkeiten auf Dauer nicht zu ungenau wird, will er float. Wenn das Objekt stehen bleibt, will er dann - und das ist der Teil, den ich nicht verstehe - die Position ins Fixkomma-Format wandeln, weil er das aus irgendeinem Grund für genauer oder besser reproduzierbar hält.
ich GLAUBE er will ein objekt um 30° drehen dabei soll das selbe raus kommen als wenn er es 3 mal um 10° dreht was aber weder mit seinem noch mit double noch mit irgendwas funktionieren wird... warum er das "braucht" ist mir auch nicht ganz klar.
Rolf Magnus schrieb: > Letztendlich ist es eine Integration bzw. zeitdiskret dann ein > zyklisches Aufaddieren des Geschwindigkeitsvektors auf die Position. > Damit addieren sich aber auch Fehler auf. Damit das auch bei > unterschiedlichen Geschwindigkeiten auf Dauer nicht zu ungenau wird, > will er float. Ja, das scheint die Idee zu sein. Allerdings übersieht er, dass die integrierten Daten im float-Anteil immer ungenauer werden, je größer dieser Teil wird. Wenn sie in der Größenordnung 0,5 liegen, hat er von der anfänglich höheren Genauigkeit mit negativem Exponenenten nichts mehr. Im Gegenteil, die Bits für den Exponenten sind verschenkt. Mit durchgängigem Festkomma wäre er besser dran. Einen Genauigkeitsvorteil gibts nur ganz nah an einer ganzen Zahl, wo der Exponent des Floats negative Werte annimmt: 5,000001 etc. Rolf Magnus schrieb: > Wenn das Objekt stehen bleibt, will er dann - und das ist > der Teil, den ich nicht verstehe - die Position ins Fixkomma-Format > wandeln, weil er das aus irgendeinem Grund für genauer oder besser > reproduzierbar hält. Soweit ichs verstehe, will er dieses kombinierte Zahlenformat einfach durchgängig für die Repräsenation der Koordinaten verwenden. Der Integer enthält den ganzen Teil, der Floatanteil liegt zwischen 0 und 1. Wenn in einer Berechnung der Float größer als 1 wird, muss also 1 zum Integer addiert werden und 1 vom Float abgezogen werden. Naja. Am treffendsten ist imo dieser Beitrag: http://forums.tigsource.com/index.php?topic=32165.msg862827#msg862827
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.