Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Rechenfehler?!

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Dominik



Anmeldungsdatum: 22.12.2004
Beiträge: 172

BeitragVerfasst am: 23.05.2005, 14:50    Titel: Rechenfehler?! Antworten mit Zitat

Hallo,

wenn ich folgendes in PDS eingebe:

DO
PRINT ZAHL
ZAHL = ZAHL + 0.1
LOOP

gibt er mir schon nach kurzer Zeit als ZAHL eine Zahl mit mehreren Nachkommastellen. Wie kann das sein? Wie kann ich diesen Fehler beheben?

Gruß
Dominik
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jan



Anmeldungsdatum: 04.01.2005
Beiträge: 74

BeitragVerfasst am: 23.05.2005, 15:25    Titel: Antworten mit Zitat

ich denke mal das wird dann ne sehr hohe zahl sein, wo, wie beim taschenrechner, einfach so etwas entsteht:

Zitat:
1,024758325 * 10^12


das heißt dann, das du das komma um 12 stellen nach rechts verschieben musst.

so ist das denke ich mal. zwinkern [/quote]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Mecki
Igel


Anmeldungsdatum: 10.09.2004
Beiträge: 985
Wohnort: Niederbayern

BeitragVerfasst am: 23.05.2005, 15:28    Titel: Antworten mit Zitat

..und ich denke anders: Das liegt wohl daran, dass Zahlen wie 0.2 einem unendlichen Dualbruch entsprechen, der PC aber nur endlich viele Stellen berechnen kann. Daher kann 0.2 nicht exakt, sondern nur gerundet gespeichert werden.
Die Rundungsfehler addieren sich und verfälschen das Ergebnis.
So stehts zumindest Mathebuch cool

Den Fehler behebst du, indem du das Problem umgehst, z.B. durch verwenden von ZAHL=ZAHL+1 und beim Print dann ZAHL/10 und so weiter und so weiter durchgeknallt
_________________
» Yodl.de: So sucht man gestern. verwundert
» Geld verdienen im Netz + ICQ.
» Firefox!
» 100€ zu gewinnen
» FreeBASIC.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name Yahoo Messenger MSN Messenger
jb



Anmeldungsdatum: 14.01.2005
Beiträge: 2010

BeitragVerfasst am: 23.05.2005, 16:07    Titel: Antworten mit Zitat

Oder du schreibst bei PRINT Folgendes:
Code:

PRINT " Wert der Zahl: "; USING "##.##"; ZAHL


jb
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2529
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 23.05.2005, 22:51    Titel: Antworten mit Zitat

Siehe ausführlicher Artikel unter

http://www.dreael.ch/Deutsch/BASIC-Knowhow-Ecke/Gleitkommazahlen.html

zur hier diskutierten Rundungsfehlerproblematik.
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz