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


ru.algorithms

 
 - RU.ALGORITHMS ----------------------------------------------------------------
 From : Serhiy Savychenko                    2:5020/400     03 Sep 2001  12:26:32
 To : Sergey Kabikov
 Subject : Re: Округление по правилам
 -------------------------------------------------------------------------------- 
 
 > Hе совсем понял. Аргумент операции округления - число с плавающей точкой,
 
 а
 
 > результат (даже не глядя в реализацию) должен быть целым. Если тебе для
 > дальнейших операции нужна Float - ну и загрузи полученное целое снова в
 > регистр сопроцессора 8-)
 
         Спасибо всем, уже разобрался. Кстати любопытный факт, сопроцессор
 предлагает четыре варианта округления. Hужный мне по умолчанию. А для
 того чтобы делать округление как в ceil или floor нужно переключать
 контрольный регистр. Причем рекомендации по оптимизации к пентиумам
 не советуют так делать.
 
 >
 >  SS> Hо я что то не нашел как влияет на эти операции контрольный регистр.
 >  SS> Может кто нибудь знает где можно взять нормальный хелп по асемблеру
 >  SS> в электронном виде. А то лучшее что я нашел хелп под дос от масма.
 > Легко. Только не по _ассемблеру_, а по _процессору_, и это совсем не одно
 
 и то
 
 > же. "IA-32 Intel Architecture Software Developer's Manual" в трех томах.
 
 Must
 
 > Have для серьезного программера (наизусть знать необязательно 8-). 16+
 
 МБайт
 
 > сплошного удовольствия прямо с сайта Интела.
 
 Да по архитектуре у меня есть, но сопроцессор там плохо описан.
 Hашел у себя хелп к масм32 (некая надстройка к мелкософтовскому масму).
 Там вроде ничего описано.
 
 > procedure       _ROUND;
 > asm
 > { ->    FST(0)  Extended argument       }
 > { <-    EAX     Result                  }
 >
 >         PUSH    EAX
 >         FISTP   dword ptr [ESP]
 >         FWAIT
 >         POP     EAX
 > end;
 
     Меня интересовал код как в VBA Excel,
 Round(x,n), где n количество оставляемых цифр.
 Hо все равно всем спасибо.
 
 >
 > Разумеется,
 > "Rounding Control Field of FPU Control Word should be set to zero".
 > для справки - это биты 10 и 11 CW.
 
 Операция по загрузке-выгрузке контрольного слова очень тормозит
 на быстрых процессорах, поэтому не рекомендуется.
 Еще раз всем спасибо. Глобальный разум это сила!
 --- ifmail v.2.15dev5
  * Origin: Digital Generation (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 Округление по правилам   Serhiy Savychenko   31 Aug 2001 10:44:57 
 Округление по правилам   Evgenij Masherov   31 Aug 2001 11:26:48 
 Округление по правилам   Daniel Kamperov   09 Sep 2001 19:41:18 
 Re: Округление по правилам   ANDY Inc.   31 Aug 2001 11:11:28 
 Re: Округление по правилам   Serhiy Savychenko   31 Aug 2001 12:35:20 
 Re: Округление по правилам   Sergey Kabikov   31 Aug 2001 13:49:07 
 Re: Округление по правилам   Serhiy Savychenko   31 Aug 2001 15:04:00 
 Re: Округление по правилам   Evgenij Masherov   31 Aug 2001 15:47:32 
 Re: Округление по правилам   OAM   31 Aug 2001 15:22:17 
 Re: Округление по правилам   Sergey Kabikov   31 Aug 2001 17:51:06 
 Re: Округление по правилам   Serhiy Savychenko   03 Sep 2001 12:26:32 
 Округление по правилам   George Shepelev   05 Sep 2001 10:48:06 
 Re: Округление по правилам   Serhiy Savychenko   06 Sep 2001 13:36:35 
Архивное /ru.algorithms/8428fa60ac69.html, оценка 3 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional