Генерация случайного числа: верхняя граница никогда не используется

  • Автор темы Автор темы Lord_Alfred
  • Дата начала Дата начала

Lord_Alfred

Client
Регистрация
09.10.2015
Сообщения
3 916
Реакции
3 884
Баллы
113
Давно уже заметил, что ГСЧ в зенке работает как-то не так, сегодня решил проверить, чтобы узнать наверняка.

Состряпал простейший набор кубиков:
CpAr2sb.png


и попал в бесконечный цикл.

Дело в том, что диапазон "от ... до ..." никогда не генерирует число, равное верхней границе. Поэтому в случае генерации "от 0 до 1" мы всегда будем получать "0".

Версия зенки: 5.9.3.1.
 
Давно уже заметил, что ГСЧ в зенке работает как-то не так, сегодня решил проверить, чтобы узнать наверняка.

Состряпал простейший набор кубиков:
CpAr2sb.png


и попал в бесконечный цикл.

Дело в том, что диапазон "от ... до ..." никогда не генерирует число, равное верхней границе. Поэтому в случае генерации "от 0 до 1" мы всегда будем получать "0".

Версия зенки: 5.9.3.1.
уже обсуждалось..
это не баг, так задумано..
 
уже обсуждалось..
это не баг, так задумано..
Как думаешь, ещё один топик на эту тему переубедит разрабов?..)
На самом деле даже для меня, как для программиста, это не очевидно. А для тех, кто не имеет навыков программирования так это вообще должно быть "швах".
 
  • Оценить
Реакции: Sergodjan
Я не программист но из школьной программы даже всё верно, по русски написано что до, а это означает до назначенного числа, вот если там стояло бы по 1-е, тогда и было бы это значение включительно
 
  • Оценить
Реакции: Sergodjan
Это не баг.

Есть спецификация C#.
https://msdn.microsoft.com/ru-ru/library/2dx6wyd4(v=vs.110).aspx

minValue
Тип: System.Int32
Включённый нижний предел возвращаемого случайного числа.
maxValue
Тип: System.Int32
Исключенный верхний предел возвращаемого случайного числа. Значение maxValue должно быть больше или равно minValue.
 
  • Оценить
Реакции: Ribas
Не баг, изменений не планируется
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)