| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen   | 
	
	
	
		| Autor | 
		Nachricht | 
	
	
		9816
 
 
  Anmeldungsdatum: 27.03.2012 Beiträge: 4
 
  | 
		
			
				 Verfasst am: 10.08.2015, 15:09    Titel: Rechengenauigkeit während der Auswertung von Ausdrücken ? | 
				     | 
			 
			
				
  | 
			 
			
				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 | 
		 | 
	
	
		  | 
	
	
		Jojo alter Rang
  
  Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
  | 
		
			
				 Verfasst am: 10.08.2015, 16:12    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				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 | 
		 | 
	
	
		  | 
	
	
		Toa-Nuva
 
 
  Anmeldungsdatum: 14.04.2006 Beiträge: 204 Wohnort: München
  | 
		
			
				 Verfasst am: 10.08.2015, 17:36    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | 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."  
 
 
Für die Integer-Division gibt es in FB ja einen eigenen Operator, nämlich \ _________________ 704 Signature not found | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		Jojo alter Rang
  
  Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
  | 
		
			
				 Verfasst am: 10.08.2015, 18:50    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				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 | 
		 | 
	
	
		  | 
	
	
		9816
 
 
  Anmeldungsdatum: 27.03.2012 Beiträge: 4
 
  | 
		
			
				 Verfasst am: 11.08.2015, 09:12    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Danke also nicht ganz wie in FORTRAN
 
 
9816 | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		 |