Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.02.25;
Скачать: CL | DM;

Вниз

Как получить случайное Integer и Single ?   Найти похожие ветки 

 
randomizer   (2007-02-04 04:45) [0]

Не от 0 до 1, и не в диапазоне. А просто случайное Integer и Single.
Есть такие фукнции?


 
tesseract ©   (2007-02-04 05:41) [1]

Random(диапазон) - из простых. Они имеют парвномерное распределение. А так - изучать теорию, агоритмы генерации случайных чисел не из простых.


 
randomizer   (2007-02-04 05:50) [2]


> tesseract ©   (04.02.07 05:41) [1]
> Random(диапазон) - из простых.


То есть ты тоже не знаешь диапазона?


 
TUser ©   (2007-02-04 06:35) [3]

для Integer: Random (MaxInt) * (Random (1) * 2 - 1)

зы. ноль будет получаться в два раза чаще других чисел


 
randomizer   (2007-02-04 06:41) [4]

В том то и дело. Кроме того иногда будет возникать ошибка.


 
TUser ©   (2007-02-04 06:51) [5]

> Кроме того иногда будет возникать ошибка.

Что за ошибка?

Ну, если заняться нечем, то
var i, r: integer;
begin
 r := 0;
 for i := 0 to sizeof (r) * 8 - 1 do
   r := r or (Random (1) shl i);
 {r - искомое число}
 ...
end;


 
randomizer   (2007-02-04 06:57) [6]

Одно число не будет появляться никогда. Такая ошибка.


 
Думкин ©   (2007-02-04 07:05) [7]

round((random*2 - 1)*2*MaxInt)

Надо только помнить, что диапазон у random - [0,1) Но можно и тут - изменить смещение и масштаб. Считать лень.

А для Single - диапазон описан константами в Math.


 
TUser ©   (2007-02-04 07:45) [8]

Random (2) и рандом целочисленный использовать. Будет [0;2).



Страницы: 1 вся ветка

Текущий архив: 2007.02.25;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.052 c
15-1170328942
апмав
2007-02-01 14:22
2007.02.25
stdcall


6-1158571384
ArhArhangel
2006-09-18 13:23
2007.02.25
Получить HTML код через proxy


15-1170524258
Parus
2007-02-03 20:37
2007.02.25
Пиринговые сети


3-1165395361
merko$
2006-12-06 11:56
2007.02.25
Импорт данных из Excel в DBGrid


15-1170671330
Dimedrol
2007-02-05 13:28
2007.02.25
Посоветуйте MySQL клиента с UTF-8