Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Случайное вещественное число

36K
21 сентября 2009 года
sstorm
55 / / 25.03.2009
Собственно, необходимо случайное вещественное число, равномерно распределённое на промежутке от m до M

Генерация целых понятна. Но вот генерить 2 целых и делить - не совсем то, т.к. числа будут тяготеть к 0. Да и с границами не совсем понятно...
17K
21 сентября 2009 года
kilowatt
27 / / 13.01.2007
 
Код:
double RangedRand( int range_min, int range_max)
{
    return (double)rand() / (RAND_MAX + 1) * (range_max - range_min)+ range_min;
}


первоисточник здесь
36K
22 сентября 2009 года
sstorm
55 / / 25.03.2009
Да, делить на RAND_MAX - это просто и гениально. Стыдно, что сам не додумался.
Спасибо
53K
29 сентября 2009 года
Little Ort
6 / / 29.09.2009
 
Код:
const double anti_RAND_MAX = 1. / ( double )( RAND_MAX + 1 );
double RangedRand( int range_min, int range_max)
{
    return (double)rand() * anti_RAND_MAX * (range_max - range_min)+ range_min;
}

На случай, если оптимизация компилятора не включена.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог