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


ru.algorithms

 
 - RU.ALGORITHMS ----------------------------------------------------------------
 From : Evgenij Masherov                     2:5020/175.2   29 Apr 2002  08:11:47
 To : Stanislav Aranovsky
 Subject : слyчайно 0-1
 -------------------------------------------------------------------------------- 
 
 
  SA> Пpивет all!
 
  SA> Подскажите алгоpитм генеpации слyчайного числа в пpеделах только 0-1,
  SA> котоpый pаботал бы быстpее rand(). Едиственное, что пpиходит в головy -
  SA> один pаз генеpить динное число, а потом пpосто пpобегать его по битам,
  SA> после чего генеpить число заново. Можно ли пpидyмать что-нить быстpее?
  
 Обычно для генерации битов используют сдвиговые регистры (Кнут, т.2, 3.2.2.)
 
        DataScrm <<= 1;
        DataScrm |=  inBit;
        Bit  = (( DataScrm & 0x0000001l ) ? 1 : 0 );
        Bit ^= (( DataScrm & 0x0040000l ) ? 1 : 0 );
        Bit ^= (( DataScrm & 0x0800000l ) ? 1 : 0 );
 
 Это скрэмблер из стандарта передачи факсов...
 Предложенный же Вами способ плох - младшие биты в обычных (линейных
 конгруэнтных) генераторах недостаточно случайны.
 
 Евгений Машеров АКА СанитарЖеня
 
 --- ifmail v.2.15dev5
  * Origin: FidoNet Online - http://www.fido-online.com (2:5020/175.2)
 
 

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

 Тема:    Автор:    Дата:  
 слyчайно 0-1   Stanislav Aranovsky   29 Apr 2002 02:08:00 
 слyчайно 0-1   Evgenij Masherov   29 Apr 2002 08:11:47 
 слyчайно 0-1   Stanislav Aranovsky   30 Apr 2002 09:34:46 
 слyчайно 0-1   Evgenij Masherov   01 May 2002 11:24:21 
 слyчайно 0-1   Alex Astafiev   30 Apr 2002 17:50:58 
 Re: слyчайно 0-1   Sergey Andrianov   06 May 2002 22:54:34 
Архивное /ru.algorithms/3300333584c1.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional