I came across such strange behavior of the Math.Sin function in the c#, when I use large numbers, for example:

c# – .net 4.7.2: Math.Sin(6.2831853071795856E+45) = 6.2831853071795856E+45

c++: sin(6.2831853071795856E+45) = -0.089650623841643268

Any ideas how to get the same results as c++?

c# sample:

```
double value = 6.2831853071795856E+45;
Console.WriteLine(Math.Sin(value));
```

c++ sample:

```
double x = 6.2831853071795856E+45;
double result;
result = sin(x);
cout << "sin(x) = " << result << endl;
```

Source: Windows Questions C++