![]() |
|
||||||||||
|
|||||
|
Регистрация: Jan 2008
Сообщений: 24
|
Здравствуйте.
Столкнулся с вот таким: Как бороться с этим? |
|
|||||
|
Регистрация: Jan 2008
Сообщений: 24
|
Мне нужно получить ряд значений, вычисляемых по формуле:
где i:uint лежит в диапазоне от 0 до k (k - тоже uint) Соответственно при значении i = k значение под знаком синуса равно: Math.PI*(k/k) == Math.PI Ну а синус от пи всегда был равен 0. А здесь не так... |
|
|||||
|
Modus ponens
|
а вы себе представляете, сколько знаков после запятой у Math.PI и сколько знаков можно поместить в Number (float / double)?
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: Jan 2008
Сообщений: 24
|
Представлять - не представляю, но
Т.е. как я понял, никак - только проверять равно ли значение по синусом PI? Последний раз редактировалось konstantin.noir; 09.09.2008 в 21:46. |
|
|||||
|
Modus ponens
|
а как это связано?
В Number в дробную часть нельзя поместить больше 8 разрядов в шестнадцатеричной системе счисления, а пи - иррациональное число, и количество знаков после запятой бесконечно. для наглядности: Последний раз редактировалось wvxvw; 09.09.2008 в 21:53. |
|
|||||
|
Регистрация: Jan 2008
Сообщений: 24
|
Спасибо. Просто думается, что такие очевидные вещи, как sin(PI) должны были бы быть реализованы как-то по-лучше.
|
|
|||||
|
Регистрация: May 2003
Адрес: Tallinn
Сообщений: 3,182
|
"что такое хорошо, а что такое плохо" каждый понимает по-разному ;-)
|
![]() |
![]() |
Часовой пояс GMT +4, время: 03:33. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|