Re: numeric precision when raising one numeric to another.
Вложения
В списке pgsql-general по дате отправления:
| От | Florian G. Pflug |
|---|---|
| Тема | Re: numeric precision when raising one numeric to another. |
| Дата | |
| Msg-id | 428E1D1C.8060301@phlo.org обсуждение исходный текст |
| Ответ на | Re: numeric precision when raising one numeric to another. (Martijn van Oosterhout <kleptog@svana.org>) |
| Список | pgsql-general |
Martijn van Oosterhout wrote: > On Thu, May 19, 2005 at 02:25:58PM -0700, Dann Corbit wrote: > >>Hmmm.... >>I underestimated. >> >>pow(99999.99999,99999.99999) = > > > Yeah, a number with x digits raised to the power with something y digits > long could have a length approximating: > > x * (10^y) digits > > So two numbers both 4 digits long can have a result of upto 40,000 > digits. You're only going to be able to them represent exactly for > cases where y is small and integer. > > What's a meaningful limit? Do we simply say, you get upto 100 digits > and that's it? Or an extra parameter so you can specify directly? I believe that even this limit is wrong. Consider sqrt(2), which is 2^(1/2). 2 has 1 digit, 1/2 has 2 digits, but the result is irrational, and therefor cannot be represented with a finit amount of digits. I believe that there is no mathematically correct way (i.e. a way which guarantees a 100% correct result) to define pow(numeric, numeric) - at least in the general case.
В списке pgsql-general по дате отправления:
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера