Рассмотрим следующий код:
double v1 = double.MaxValue;
double r = Math.Sqrt(v1 * v1);
r = double.MaxValue на 32-битной машине r = Бесконечность на 64-битной машине
Мы разрабатываем на 32-битной машине и, таким образом, не знаем о проблеме до тех пор, пока ее не уведомит клиент. Почему такое несоответствие происходит? Как предотвратить это?