Форум программистов, компьютерный форум CyberForum.ru

Генерация случайного числа, максимально случайного - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.64
nchameleon
2 / 2 / 1
Регистрация: 06.04.2010
Сообщений: 161
11.01.2012, 17:02     Генерация случайного числа, максимально случайного #1
Добрый день, задался вопросом как получить случайное число, но не псевдо-случайное

по идее функции rand() и srand(time(NULL)) используют ниже следующий код или подобный ему
C++
1
2
3
4
5
6
7
int rand(void) {
 next=next*1103515245+12345;
 return((unsigned int)(next/65536)%32768);
}
void srand(unsigned int seed) {
 next=seed;
}
но по идее должен быть более случайный генератор числа, для более хаотичного выборки чисел

Добавлено через 54 секунды
вроде как можно получить случайное число от процессора, которое зависит от аналоговых элементов
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
cyberobot
 Аватар для cyberobot
15 / 15 / 1
Регистрация: 01.09.2011
Сообщений: 66
11.01.2012, 17:56     Генерация случайного числа, максимально случайного #2
конечно незнаю как случайное, но можно сгенерировать с помощью rand() случайный адрес и по этому адресу взять число
C++
1
2
3
unsigned int *p;
p=rand();
srand(*p);
Nick Alte
Эксперт С++
1591 / 983 / 116
Регистрация: 27.09.2009
Сообщений: 1,898
Завершенные тесты: 1
11.01.2012, 19:21     Генерация случайного числа, максимально случайного #3
Очень, очень плохая практика - лезть в память невесть куда. Можно словить segfault или с большой вероятностью прочитать нолик...
Для создания надёжных случайных чисел надо накопить некоторое количество случайной информации и прокрутить её через мясорубку хорошей хеш-функции (например, SHA-256 или хотя бы MD5). В качестве сырья можно пользоваться данными любого качества, лишь бы вместе в них было достаточно случайности. Например, можно накапливать нажимаемые символы и интервалы между нажатиями, или движения мышкой.
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
12.01.2012, 11:14     Генерация случайного числа, максимально случайного #4
Посмотрите здесь http://www.cyberforum.ru/cpp-beginners/thread44753.html
Yandex
Объявления
12.01.2012, 11:14     Генерация случайного числа, максимально случайного
Ответ Создать тему
Опции темы

Текущее время: 14:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru