Глава 19 Случайные числа

Глава 19

Случайные числа

Слово случайный имеет разный смысл для разных программистов в различное время. Для большинства приложений оказываются достаточно эффективными псевдослучайные числа, предусмотренные библиотекой С. Благодаря тому, что псевдослучайные числа позволяют воспроизводить первоначальные условия, если это необходимо (например, с целью отладки), они оказываются предпочтительнее действительно случайных чисел.

Однако некоторые приложения (включая криптографические) для достижения наилучших результатов требуют использования действительно случайных чисел. Ядро Linux для предоставления криптографически устойчивых случайных чисел производит выборку событий из непредсказуемого внешнего мира.

Все компьютеры поддаются прогнозированию. В большинстве задач, которые мы поручаем компьютеру, предсказуемость является наиболее важным обстоятельством. Даже если в вашей программе появляются ошибки, необходимо, чтобы их возникновение было предсказуемым, иначе вы не сможете найти их и ликвидировать.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

Глава 4. Уменьшение числа запросов

Из книги автора

Глава 4. Уменьшение числа запросов 4.1. Объединение HTML- и CSS-файлов Число запросов является наиболее узким местом при загрузке страницы. По последним исследованиям, порядка 40% времени загрузки уходит только на установление новых соединений с сервером. В этом свете любые


Случайные числа

Из книги автора

Случайные числа srandПроизводит инициализацию генератора случайных чисел.Синтаксис:void srand(int seed)Инициализирует генератор случайных чисел занчением seed.srand((double) microtime()*1000000);$random = rand();echo $random;getrandmaxВозвращает максимально возможное случайное число.Синтаксис:int getrandmax()Эта


Глава 1 Числа и Сеть сетей

Из книги автора

Глава 1 Числа и Сеть сетей Традиционная популярная история связывает создание Интернета с ядерной войной, а точнее, с приготовлениями к ней. Действительно, появившаяся в 70-х годах прошлого века вычислительная сеть, ставшая прообразом Интернета, финансировалась в рамках


1. Числа

Из книги автора

1. Числа А сейчас, когда вы всё установили, давайте напишем программу! Откройте ваш любимый текстовый редактор и наберите на клавиатуре следующее:puts 1+2Сохраните вашу программу (да, это программа!) под именем calc.rb (.rb – это то, что мы обычно пишем в конце имени программы,


Глава 3 Числа

Из книги автора

Глава 3 Числа 3.0. Введение Даже если вы не занимаетесь написанием научных или инженерных приложений, вам все равно придется работать с числами. Эта глава содержит решения проблем, часто возникающих при работе с числовыми типами С++.Некоторые из рецептов содержат методики


1. Случайные числа

Из книги автора

1. Случайные числа Генерация случайного числа Можно сделать из этого настоящую головоломку: написать программу, выполнение которой на компьютере дает число, случайным образом расположенное в данном интервале, например, между 0 и 1. Но это невозможно.Некоторые языки


1. Случайные числа

Из книги автора

1. Случайные числа Упражнение 2.Нужно изучить поведение дробной части (x + a)8, когда x меняется от 0 до 1. Нарисуйте, хотя бы приближенно, кривую, представляющую эту функцию. Рассмотрите интервал на оси x, в котором значение функции меняется от некоторого целого числа до


1. Случайные числа

Из книги автора

1. Случайные числа Головоломка 1.Первая стратегия. Нужно сравнить u2i и ui. Они равны, если 2i = i + kp для целого k, следовательно, если i делится на p. Кроме того, i должно превосходить r. Следовательно, нужно искать наименьшее кратное p, большее или равное r.Положим vi = u2i. Тогдаvi+1 = u2i+2 =


ТЕХНОЛОГИИ: Случайные связи

Из книги автора

ТЕХНОЛОГИИ: Случайные связи Автор: Павел ПротасовСто тридцать лет назад, 10 марта 1876 года, преподаватель школы для глухих Александр Грэхем Белл изобрел телефон. Это случилось во время поиска способа передачи нескольких телеграфных сообщений по одному проводу [Ближайший


У14.9 Комплексные числа

Из книги автора

У14.9 Комплексные числа (Это упражнение предполагает знакомство со всеми лекциями вплоть до 5-й курса "Основы объектно-ориентированного проектирования".) В примере, рассмотренном при обсуждении интерфейса модулей, использовались комплексные числа с двумя разными