Главная страница


ru.algorithms

 
 - RU.ALGORITHMS ----------------------------------------------------------------
 From : Yuri Muhitov                         2:5020/400     12 Nov 2002  11:21:27
 To : Alex Kozhushko
 Subject : Re: округление дробной части
 -------------------------------------------------------------------------------- 
 
 Приветствую всех!
 
 "Alex Kozhushko" <alxrie@sibmail.ru> wrote in message
 news:aqq919$5nv$1@ddt.demos.su...
 
 > Добрый день, Юрий!
 >
 > "Yuri Muhitov" <muhitov@bercut.ru> wrote in message
 > news:aqq7rh$30u7$1@ddt.demos.su...
 >
 > YM> У кого найдется более ( интересная | эффективная | простая )
 
 реализация
 
 > YM> округления дробной части  до n знаков после десятичной точки ?
 >
 > YM> #include <math.h>
 > YM> /* округляет val до fract знаков после запятой */
 > YM> double round ( double val, int fract )
 > YM> {
 > YM>  double fact = pow ( 10.0, fract );
 > YM>  return ( double )( int )( val * fact + 0.5 ) / fact;
 > YM> }
 >
 > Функция pow смущает. Реализована она через экспоненту - а это не слишком
 > быстро.
 > fract вряд ли больше 20 (для 64-битного вещественного). Возвести 10 в
 
 целую
 
 > степень можно за O(log fract) умножений - то есть в данном случае не более
 > чем за 5 умножений (причем целочисленных).
 
 OK !! Please, примерчик возведения :)
 
 С уважением, Юрий.
 --- ifmail v.2.15dev5
  * Origin: BERCUT (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 округление дробной части   Yuri Muhitov   12 Nov 2002 10:42:06 
 Re: округление дробной части   Alex Kozhushko   12 Nov 2002 11:02:10 
 Re: округление дробной части   Yuri Muhitov   12 Nov 2002 11:21:27 
 Re: округление дробной части   Alex Kozhushko   12 Nov 2002 12:33:55 
Архивное /ru.algorithms/6577b96193c9.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional