Показать сообщение отдельно
Старый 26.04.2010, 06:38   #14
Новичок
 
Регистрация: 06.06.2009
Сообщений: 28
Сказал Спасибо: 8
Имеет 5 спасибок в 5 сообщенях
Asmoday пока неопределено
По умолчанию

Цитата:
Сообщение от guplen Посмотреть сообщение
по ниипическому закону меняются местами байты, причем байты выбираются по какому-то псевдо рандому, по всей видимости тоже ниипическому ))
Рандом не псефдо эпический всему есть объяснение, например вот глянь...
Код:
function _pseudo_rand: integer;
var
  a : integer;
begin
    with CorrectorData^ do begin
      a := (Int64(_seed) * $343fd + $269EC3) and $FFFFFFFF;
      _seed := a;
      result := (_seed shr $10) and $7FFF;
    end;
end;


pseudo_srand(seed);

for i := 2 to $D1 do begin
    rand_pos := (_pseudo_rand mod i) + 1;
    x := _1_byte_table[rand_pos];
    _1_byte_table[rand_pos] := _1_byte_table[i];
    _1_byte_table[i] := x;
end;
Asmoday вне форума   Ответить с цитированием