Согласно этой документации , длинные переменные являются 64-битными переменными.
Однако, это терпит неудачу в ≈2 ^ 31 в следующем расчете:
Function Pyth(a As Long, b As Long) As Double
Dim c_2 As Long
c_2 = a ^ 2 + b ^ 2
Pyth = c_2 ^ 0.5
End Function
Похоже, что вычисление может обрабатывать только 32-разрядное целое число со знаком, несмотря на то, что все переменные являются 64-разрядными. Почему это?
Я могу обойти это, используя Double, но это плохая практика. Есть ли способ обойти эту проблему с помощью целочисленных переменных?