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:

Rechengenauigkeit während der Auswertung von Ausdrücken ?

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



Anmeldungsdatum: 27.03.2012
Beiträge: 4

BeitragVerfasst am: 10.08.2015, 16:09    Titel: Rechengenauigkeit während der Auswertung von Ausdrücken ? Antworten mit Zitat

Hallo

weiß jemand wie Freebasic die Rechengenauigkeitsanpassung beim Auswerten eines Terms mit verschieden Variablentypen vornimmt?
Passiert das wie bei FORTRAN, wo es eindeutig definiert ist?

Beispiel:

Defdbl a-z
defint i-n

i=3: j=5
a=1.
r=a*(i/j)

Wo macht der Compiler hier die erste Wandlung nach Real*8 für's Weiterrechen? Ist das genau definiert?
Ich konnte leider nichts dazu finden.

Danke
RPE
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 10.08.2015, 17:12    Titel: Antworten mit Zitat

Die Umwandlung passiert da, wo sie nötig ist. Ist sie für den Ausdruck 3/5 nötig? Nein, sind beides Integer. Ist sie für a*x (x sei das Ergebnis von 3/5) nötig? Ja, denn a ist ein Double und x ein Integer.
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Toa-Nuva



Anmeldungsdatum: 14.04.2006
Beiträge: 204
Wohnort: München

BeitragVerfasst am: 10.08.2015, 18:36    Titel: Antworten mit Zitat

Jojo hat Folgendes geschrieben:
Die Umwandlung passiert da, wo sie nötig ist. Ist sie für den Ausdruck 3/5 nötig? Nein, sind beides Integer.

Ich dachte, / in FreeBASIC wäre immer eine Double-Division? Hab ich zumindest so in Erinnerung und so verstehe ich es auch in der Referenz: https://www.freebasic-portal.de/befehlsreferenz/slash-444.html "Der Rückgabewert einer Division ist immer DOUBLE." zwinkern

Für die Integer-Division gibt es in FB ja einen eigenen Operator, nämlich \
_________________
704 Signature not found
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 10.08.2015, 19:50    Titel: Antworten mit Zitat

Ach stimmt ja... Prinzpiell gilt aber weiterhin: Eine Umwandlung passiert nur, wenn es nötig ist. Im Falle von / ist sie eben nötig, weil der Operator nur Doubles verwenden kann. Wäre der Ausdruck a*(i+j), würde meine vorherige Beschreibung weiterhin gelten.
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
9816



Anmeldungsdatum: 27.03.2012
Beiträge: 4

BeitragVerfasst am: 11.08.2015, 10:12    Titel: Antworten mit Zitat

Danke also nicht ganz wie in FORTRAN

9816
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. 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