Giriş
Bu metod yerine _controlfp_s() metodunu kullanmak daha iyi. 486'dan itibaren FPU diye ayrı bir şey yok. Açıklaması şöyle.
Örnek
C#'ta X87 FPU'nun precision değerini değiştirmek için şöyle yaparız.
Bu metod yerine _controlfp_s() metodunu kullanmak daha iyi. 486'dan itibaren FPU diye ayrı bir şey yok. Açıklaması şöyle.
Most x86 processors since the Intel 80486 have had these x87 instructions implemented in the main CPU
Örnek
C#'ta X87 FPU'nun precision değerini değiştirmek için şöyle yaparız.
using System;
using System.Runtime.InteropServices;
static void Main()
{
double s = -2.6114289999999998;
Console.WriteLine(Math.Round(s, 7).ToString("R")); // -2.611429
if (!Environment.Is64BitProcess)
_controlfp(0x00030000, 0x00020000);
Console.WriteLine(Math.Round(s, 7).ToString("R")); // -2.61142897605896
}
[DllImport("msvcrt.dll", CallingConvention = CallingConvention.Cdecl)]
static extern uint _controlfp(uint newcw, uint mask);
Hiç yorum yok:
Yorum Gönder