Laden...

Gleitkommaarithmetik Einstellungen?

7 Antworten
2,516 Aufrufe
Letzter Beitrag: vor 18 Jahren
Gleitkommaarithmetik Einstellungen?

Hi,

ich wollte nur mal fragen, wie/wo ich im Visual Studio 2005 die Einstellungen für 64Bit Gleitkommaarithmetik machen kann.

Normal hab ich ja 8 Bytes 53Bit Mantisse!

Falls es jemand weiß oder es einen Unterschied gibt, würde ich es auch gern für VS-ORCAS wissen.

Wär super, wenn mir jemand dies beantworten könnte!
Danke im Voraus!

lg,
Cordell

unsere Feinde benutzen Ninjitsu, um den Weltfrieden zu stören!

Was willst du einstellen? .Net kennt nur zwei Gleitkommatypen, Single und Double, wobei die in C# dann float und double heißen. Single hat 32 Bit und Double 64 Bit. Double ist dabei der default Datentyp wenn du Gleikommazahlen als Literale angibst. Floats musst du mit dem Präfix f kennzeichnen. Mehr kann man nicht beeinflussen bei den Gleitkommazahlen.

Und bei 64 Bit Darstellung hast du immer 52 Bit Mantisse nach IEEE754, nicht 53.

Baka wa shinanakya naoranai.

Mein XING Profil.

Alles klar! Hatte nur eine Diskussion mit meinem Prof darüber, der steif und fest behauptete man könne in VS 2005 irgendwo Einstellungen vornehmen mit der man eine reine 64bit Mantisse hätte!

Hehe wie die Datentypen heißen und wie ich sie kennzeichne, weiß ich 😄, aber totzdem danke für die Antwort!

lg,
Cordell

unsere Feinde benutzen Ninjitsu, um den Weltfrieden zu stören!

Vorsicht, nicht zu weit aus dem Fenster lehnen:

C# ECMA Spec:

11.1.5 Floating point types

[...]
Floating-point operations may be performed with higher precision than the result type of the operation. For example, some hardware architectures support an “extended” or “long double” floating-point type with greater range and precision than the double type, and implicitly perform all floating-point operations using this higher precision type. Only at excessive cost in performance can such hardware architectures be made to perform floating-point operations with less precision, and rather than require an implementation to forfeit both performance and precision, C# allows a higher precision type to be used for all floating-point operations. Other than delivering more precise results, this rarely has any measurable effects. However, in expressions of the form x * y / z, where the multiplication produces a result that is outside the double range, but the subsequent division brings the temporary result back into the double range, the fact that the expression is evaluated in a higher range format may cause a finite result to be produced instead of an infinity.

In der Praxis heisst glaub ich: Unter Debug (bzw. JIT-Optimierung aus) 64 Bit, Release 80 Bit, nicht aber im CF.

Oh, alles klar, vielen Dank @svenson!! 🙂

👍

unsere Feinde benutzen Ninjitsu, um den Weltfrieden zu stören!

Original von cordell
ich wollte nur mal fragen, wie/wo ich im Visual Studio 2005 die Einstellungen für 64Bit Gleitkommaarithmetik machen kann.

Für ein "C++/CLI" Projekt bei den Projekt-Einstellungen, unter:

Configuration Properties > C/C++ > Code Generation

(VS2005 kann nicht nur C# und VB.Net...)

also wenn der prof "steif und fest behauptet, man könne irgendwo ..." dann liegt die beweislast bei ihm.

ein "doch das ist so weil ich das sage" ist nicht wissenschaftlich.

loop:
btst #6,$bfe001
bne.s loop
rts