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

 
 
 
Reply to this topicStart new topic
> rand(), кто подскажет.
SasaVitebsk
сообщение Oct 15 2008, 21:46
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Кто подскажет формулу фирменной ф-ции rand() из IAR AVR библиотеки.

Или может предложит свой вариант не очень навороченный. В принципе надо пулучить или байт или слово. Нужно определить мощность последовательности. (попробую сам сделать)
Go to the top of the page
 
+Quote Post
Warlockwolf
сообщение Oct 15 2008, 22:04
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 50
Регистрация: 17-06-08
Пользователь №: 38 358



- если я правильно понял вопрос.

использую такой.

u8 Radom(){
iran=(iran*(u32)4096+(u32)150889)%(u32)714025;
return iran/0xfff;
};

iran-32битный, храню в пзу.

формулу вычитал в инете.

первый раз инициализирую-- iran=считываю ченить с ацп несколько раз. или загоняю число из компа.

Сообщение отредактировал Warlockwolf - Oct 15 2008, 22:05
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Oct 15 2008, 22:19
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Спасибо вы всё правильно поняли.
Правда тут 2 деления. В IAR умножения и сложения. Но это тоже принимается как вариант.
Если ещё кто выскажется буду благодарен.
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Oct 16 2008, 05:33
Сообщение #4


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Код
#include "stdlib.h"

unsigned long int __next_rand = 1;

int rand(void)
{
  __next_rand = __next_rand * 1103515245 + 12345;
  return (unsigned int) (__next_rand >> 16) & RAND_MAX;
}
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Oct 16 2008, 15:48
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Оно. Спасибо.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 17:30
Рейтинг@Mail.ru


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