Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
подскажите алгоритм простого гсч для 8 и 16 бит. хорошее случайное начальное число есть :)
Отправлено
AF
15 апреля 2008 г. 11:57
в принципе устраивает линейный конгруэнтный, но там зависит от выбора коэффицентов, для 32бит нашел, надо для 8 и 16 бит.
Составить ответ
|
Вернуться на конференцию
Ответы
rfc4086 ?=>
—
quark
(15.04.2008 12:46:23
79.139.172.182
,
пустое
,
ссылка
)
А если как в телефонных карточках?
—
pnx
(15.04.2008 12:35:59
87.253.9.244
, 77 байт)
Насколько хороший, в смысле, для чего?
—
vitalyn
(15.04.2008 12:28:28
195.140.182.162
, 221 байт)
LFSR
—
манипулятор
(15.04.2008 12:09:32
208.73.49.114
,
пустое
,
ссылка
)
LFSR в прямом виде - генератор случайных БИТов, а нужно БАЙТов
—
AF
(15.04.2008 12:19:42
88.204.245.61
,
пустое
)
шашечки или ехать ? нагенери себе хоть килобит хоть байт из бит.
—
манипулятор
(15.04.2008 12:40:38
208.73.49.114
, 77 байт)
LFSR может работать и в GF(2^N). Тогда он станет генератором N-битных символов.
—
SM
(15.04.2008 12:29:33
80.92.255.53
,
пустое
)
Есть классический очень хороший генератор - длинный LFSR с коэффициентами 0/1 в кольце целых чисел по модулю 2^N.
—
Oldring
(15.04.2008 14:15:22
91.77.101.106
, 102 байт)
Если линейный конгруэнтный - то берите старшие биты 32-битного.
—
Oldring
(15.04.2008 12:05:56
91.77.101.106
, 204 байт)
не устравает как раз 32битный из-за больших чисел, "хорошесть" как раз не так важна, важно что бы быстро на 8битнике считал
—
AF
(15.04.2008 12:08:51
88.204.245.61
,
пустое
)
Все равно LFSR нужно будет 8 или 16 раз в цикле вращать чтобы получить случайное целое число. Готовы?
—
Oldring
(15.04.2008 12:16:17
91.77.101.106
,
пустое
)
это понятно, написал выше, поэтому и не хочу лфср, хочу правильные коэффициенты для лин.конгруэнтного при м=16 и при м=8
—
AF
(15.04.2008 12:22:19
88.204.245.61
,
пустое
)
Вы не поняли, еще раз повторю.
—
Oldring
(15.04.2008 12:27:17
91.77.101.106
, 436 байт)
мне периодичность младших бит не особо критична: задача - разрулить коллизии в мультимастер на радиоканале, при кол-ве узлов сети не более 255
—
AF
(15.04.2008 12:41:14
88.204.245.61
,
пустое
)
Тогда - да, 16-разрядный линейный конгруэнтный - похоже, самое оно, если есть команда хотя-бы 8-битного умножения.
—
Oldring
(15.04.2008 12:56:29
91.77.101.106
,
пустое
)
есть, (пик18)
—
AF
(15.04.2008 13:04:31
88.204.245.61
,
пустое
)
У него только 8-битное умножение?
—
Oldring
(15.04.2008 13:40:51
91.77.101.106
, 560 байт)
спасибо, учту, особо если по времени не буду успевать
—
AF
(15.04.2008 14:14:52
88.204.245.61
,
пустое
)
И не забудьте, что при использовании 16-разрядного внутреннего состояния генератора примерно каждая 65536 коллизия будет начинать самовоспроизводиться в пределах времени разъезжагтя кварцев ;)
—
Oldring
(15.04.2008 15:54:37
91.77.101.106
,
пустое
)
тода нужен аппаратный генератор
—
манипулятор
(15.04.2008 12:50:50
208.73.49.114
,
пустое
)
читать как m=2^8 m=2^16
—
AF
(15.04.2008 12:23:52
88.204.245.61
,
пустое
)
Ответ: (+)
—
SM
(15.04.2008 12:01:45
80.92.255.53
, 391 байт)
вот как раз умножать на 1103515245 не хочется, нужно для m=2^8 и m=2^16
—
AF
(15.04.2008 12:06:41
88.204.245.61
,
пустое
)
a=25173 c=13849 m=2^16
—
SM
(15.04.2008 12:23:43
80.92.255.53
,
пустое
)
спасибо большое, то что надо
—
AF
(15.04.2008 12:25:17
88.204.245.61
,
пустое
)
А для M=8 возьмите старший байт
—
SM
(15.04.2008 12:31:36
80.92.255.53
,
пустое
)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
скольким Омам равен эквивалент двух резисторов по 10 Ом, соединённых параллельно?:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru