Richtig rechnen mit PB
Richtig rechnen mit PB
Ich hab hier mehrere Beträge (mit Komma) die ich zusammenzählen will.
1) Müssen diese Beträge mit Punkt oder Komma getrennt werden?
2) Als Variable für die Gesamtsumme reicht z.b. gesamt.f oder?
3) Rundet PB automatisch?
1) Müssen diese Beträge mit Punkt oder Komma getrennt werden?
2) Als Variable für die Gesamtsumme reicht z.b. gesamt.f oder?
3) Rundet PB automatisch?
Also zu 1.
Du musst die Zahlen mit (.) Trennen, zumindest wenn du es in einer Console schreibst! (So war es ja auch in BASIC)
zu 2.
Als Varibael kannst du (gesamt.f)nehmen reicht auf jedenfall!
zu 3.
Ich bin mir ziemlich sicher das du das Runden der zahlen selbst einstellen kannst! Leider habe ich von dem Runden keine ahnung!
Aber im Codearichv findest du unter (MATH) eine menge rechen beispiele villeicht solltest du dort auch mal nachschlagen!

Du musst die Zahlen mit (.) Trennen, zumindest wenn du es in einer Console schreibst! (So war es ja auch in BASIC)
zu 2.
Als Varibael kannst du (gesamt.f)nehmen reicht auf jedenfall!
zu 3.
Ich bin mir ziemlich sicher das du das Runden der zahlen selbst einstellen kannst! Leider habe ich von dem Runden keine ahnung!
Aber im Codearichv findest du unter (MATH) eine menge rechen beispiele villeicht solltest du dort auch mal nachschlagen!

Na alles Senkrecht?
zu 3: PB rundet schon, aber erst die 10. Stelle (oder mehr) nach dem Komma. Da kann PB aber nichts dafür, das ist eine Beschränkung von Kommazahlen und technisch bedingt. Wenn du nicht gerade alle Sandkörner der Sahara ausrechnen willst, langt das aber allemal.
Now these points of data make a beautiful line.
And we're out of beta. We're releasing on time.
And we're out of beta. We're releasing on time.
wenn du mit Geldbeträgen arbeiten willst (+ und -), kannst du auch besser einfache long-Variablen nehmen und in Cent rechnen. Also statt "12.99 + 23.45 = 36.44 Euro" einfach 1299 + 2345 = 3644 Cent. So umgehst du die Float-Variable, die früher oder später zu Ungenauigkeiten führen kann. Bei der Ausgabe auf dem Bildschirm rechnest du einfach durch 100.
Seit wann führen Floats zu ungenauigkeit?redacid hat geschrieben:wenn du mit Geldbeträgen arbeiten willst (+ und -), kannst du auch besser einfache long-Variablen nehmen und in Cent rechnen. Also statt "12.99 + 23.45 = 36.44 Euro" einfach 1299 + 2345 = 3644 Cent. So umgehst du die Float-Variable, die früher oder später zu Ungenauigkeiten führen kann. Bei der Ausgabe auf dem Bildschirm rechnest du einfach durch 100.

Können CPUs sich neuerdings verrechnen?

Das Binärsystem hat Probleme mit langen Nachkommastellen. Schau dir dazu die Hilfedatei an, den Abschnitt zu den Variablentypen.125 hat geschrieben:Seit wann führen Floats zu ungenauigkeit?redacid hat geschrieben:wenn du mit Geldbeträgen arbeiten willst (+ und -), kannst du auch besser einfache long-Variablen nehmen und in Cent rechnen. Also statt "12.99 + 23.45 = 36.44 Euro" einfach 1299 + 2345 = 3644 Cent. So umgehst du die Float-Variable, die früher oder später zu Ungenauigkeiten führen kann. Bei der Ausgabe auf dem Bildschirm rechnest du einfach durch 100.![]()
Können CPUs sich neuerdings verrechnen?
Und ja, PCs können sich verrechnen. Der alte Pentium 1 hatte zum Teil Rechenfehler.

//edit:
PB Helpfile hat geschrieben:Eine Fließkomma-Zahl (auch Gleitkomma-Zahl, englisch: Floating Point Number) wird in einer Art und Weise gespeichert, die den Binär-Punkt (trennt "Ganzzahlteil" vom "Kommateil") innerhalb der Zahl "gleiten" lässt, wodurch das Speichern sehr großer aber auch sehr kleiner Zahlen (mit vielen Nachkommastellen) möglich wird. Wie auch immer, Sie können nicht sehr große Zahlen mit gleichzeitig sehr hoher Genauigkeit (sozusagen große und kleine Zahlen zur selben Zeit) speichern. Eine weitere Einschränkung von Fließkomma-Zahlen ist, dass sie stets im Binärmodus arbeiten, weshalb sie nur die Zahlen exakt speichern können, welche mittels Multiplikation oder Division mit 2 ermittelt werden können. Dies ist insbesondere wichtig zu wissen, wenn Sie versuchen, eine Fließkommazahl in einer visuell lesbaren Form darzustellen (oder mit ihr Rechenoperationen auszuführen) - das Speichern von Zahlen wie 0.5 oder 0.125 ist einfach, da sie Divisionen von 2 sind. Das Speichern von Zahlen wie 0.1 ist schwieriger, diese wird möglicherweise als Zahl 0.9996125 gespeichert. Sie können versuchen, nur eine begrenzte Anzahl an (Nachkomma-) Stellen darzustellen, seien Sie aber nicht überrascht, wenn die Darstellung der Zahl anders aussieht, als Sie dies erwarten!
Dies gilt für alle Fließkomma-Zahlen, nicht nur die in PureBasic.
Zuletzt geändert von Ynnus am 05.04.2005 15:51, insgesamt 1-mal geändert.
- freedimension
- Admin
- Beiträge: 1987
- Registriert: 08.09.2004 13:19
- Wohnort: Ludwigsburg
- Kontaktdaten:
Hihi, in dieser Form ungefähr seit 1985125 hat geschrieben: Seit wann führen Floats zu ungenauigkeit?![]()
Können CPUs sich neuerdings verrechnen?

Wenn du wissen möchtest wie Floats aufgebaut sind findest du hier einen interessanten und sehr anschaulichen Link:
http://babbage.cs.qc.edu/courses/cs341/IEEE-754.html
Ehrlich gesagt wundert es mich, dass du das noch nicht mitbekommen hast, bist doch immerhin auch schon seit September letzten Jahres dabei.