Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум на Исходниках.RU > Visual Basic: Общие вопросы > Большие числа: точность расчёта |
Автор: BlackSun 09.02.21, 05:23 |
Необходимо вычислить 97^4464/98^4464. Чтобы избежать переполнения, делаю так: <{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}> Dim Res As Double, iI2 as Integer Res = 1 For iI2 = 1 To 4464 Res = Res * (97 / 98) Next Debug.Print Res Res = 1 For iI2 = 1 To 4464 / 48 Step 48 Res = Res * (97 ^ 48 / 98 ^ 48) Next Debug.Print Res Результаты сильно разнятся. Где точнее рез-т? |
Автор: Mikle 09.02.21, 05:41 |
Во втором варианте ошибка, должно быть так: <{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}> For i = 1 To 4464 / 48 Res = Res * (97 ^ 48 / 98 ^ 48) Next Но лучше так: <{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}> Debug.Print (97 / 98) ^ 4464 |
Автор: BlackSun 09.02.21, 06:59 |
Да, вчера пересидел за компом, спс. |