Показать сообщение отдельно
Старый 19.09.2008, 16:03   #12   
Mоdеrаtоr
 
Аватар для DeniSS1
 
Сообщений: 1,617
Регистрация: 09.10.2007
Возраст: 32

DeniSS1 вне форума Не в сети
Проще никак. Потому что для
Цитата:
Сообщение от dr.ON Посмотреть сообщение
с 0го по 511 бит
затем с 1 по 512
2 ... 513
..........
тебе нужно знать последовательность битов.
Поясню про
Цитата:
Сообщение от dr.ON Посмотреть сообщение
sum = sum * 0.999 + X * 0.001
где X = 1 или 0
Допустим, есть последовательность из 1000 битов (считать проще), идущих чередованием 0101... Поступает 1. Мы имеем промежуток 10101...101. В нём 502 единицы и 498 нулей. Получается 50.2% единиц. Считаем по формуле. sum = 50 * 0.999 + 1 * 0.001 = 49.95 + 0.001 = 49.951. На первый взгляд разница не существенна, но если дальше если каждый второй бит будет единицей, то получится лажа

Единственный выход, который вижу: хранить небольшое кол-во битов (например, 64 или 128) и считать тоже самое скользящее соотношение для них.
  Ответить с цитированием