реклама на сайте
подробности

 
 
> Какой тип данных возвращает rand() в WinAVR?
-=Женек=-
сообщение Sep 17 2006, 17:46
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 559
Регистрация: 6-09-06
Пользователь №: 20 131



Какой тип данных возвращает rand() в WinAVR?
int? unsigned int?

Я поэкспериментировал и мне кажется, что диапазон значений - от 0 до 32768. Я прав?

Мне бы получить 16-ти битное случайное число. Как?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
-=Женек=-
сообщение Sep 17 2006, 18:53
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 559
Регистрация: 6-09-06
Пользователь №: 20 131



Я английский знаю со словарем. Смысл написанного понял в общих чертах. Разницу между rand и srand не понял. Просьба знающих пояснить.



Я так понял 7FFF - это 15 битное число, а мне надо 16 бит.
Я поставил в теле программы после включения stdlib строку #define RAND_MAX 0xFFFF - не помогло - не генерит больше 7FFF
Go to the top of the page
 
+Quote Post
makc
сообщение Sep 17 2006, 19:10
Сообщение #3


Гуру
******

Группа: Админы
Сообщений: 3 621
Регистрация: 18-10-04
Из: Москва
Пользователь №: 904



Цитата(-=Женек=- @ Sep 17 2006, 22:53) *
Я английский знаю со словарем. Смысл написанного понял в общих чертах. Разницу между rand и srand не понял. Просьба знающих пояснить.


rand - функция получения следующего псевдослучайного значения. srand - функция инициализации (задания стартового значения) генератора псевдослучайной последовательности.



Цитата
Я так понял 7FFF - это 15 битное число, а мне надо 16 бит.


Это может быть и 32-х битным числом. ;) Но в данном случае это максимальное положительное число типа int.

Цитата
Я поставил в теле программы после включения stdlib строку #define RAND_MAX 0xFFFF - не помогло - не генерит больше 7FFF


Библиотека уже скомпилирована с учетом вышеуказанной константы. Так что Ваше переопределение дефайна ничего не даст. Можете поступить таким образом:
Код
unsigned value;
value = (((unsigned)rand())<<1)+rand();


Это будет 16-и разрядное беззнаковое целое число с псевдослучайным значением.


--------------------
BR, Makc
В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 3rd August 2025 - 14:47
Рейтинг@Mail.ru


Страница сгенерированна за 0.0138 секунд с 7
ELECTRONIX ©2004-2016