Мне нужен код в MS Word VB A, у меня есть последовательность бит как 10110001110000111 .... мой интерес заключается в том, как генерировать случайную последовательность бит, предполагает, что сначала генерирует четвертый бит 1, затем следующий, если мне нужно 3 бита, генерируются три случайных бита как 1 0 1, поэтому, если требуется четыре бита, четыре случайных бита генерируются как 1001. После выполнения всего этого, если я снова запустил, который может снова сгенерировать последовательность бит.Генерировать псевдослучайные биты из строки в msword VBA
ответ
Используйте CRC. Не слишком знакомы с VBA, но если вы используете, например, CRC32, то вы можете создать хороший псевдослучайный бит-поток.
Вам нужно сделать хороший выбор для так называемого полинома, но если вы используете известные, результаты очень хорошие.
Это кодируется как C, а не как VBA, извините, но из памяти VBA предоставляет соответствующие операторы.
int nextbit(void)
{
uint32_t seed = 1;
seed = (seed&0x80000000? 0x04c11db7 : 0)^(seed<<1);
return seed&1;
}
или
int nextbit(void)
{
uint32_t seed = 1;
seed = (seed&1? 0x82608EDB : 0)^(seed>>1);
return seed&1;
}
Который, верить этому или нет, как тот же полином. Просто переходите к разным направлениям - полный полином должен быть добавлен 2^32, который обычно считается избыточным. Используемый здесь многочлен - это 32-битный CRC-CCITT, используемый для контрольных сумм данных.
Второй вариант, вероятно, лучше, так как первый начнется с 32 0, прежде чем он начнет двигаться.
Изначальное семя для любого значения, которое вы хотите, и тщательный выбор полинома гарантируют, что он имеет цикл 2^32, прежде чем он повторится.
0x82608EDB == (0x04c11db7 + 2^32)/2, поэтому его же полином. – ilgitano
- 1. R генерировать сгруппированные псевдослучайные числа
- 2. Как я могу генерировать псевдослучайные «читаемые» строки в Java?
- 3. Генерировать быстрые псевдослучайные данные в PHP
- 4. генерировать безопасные случайные биты
- 5. Псевдослучайные целые числа
- 6. Как я могу заставить свой код генерировать псевдослучайные целые числа
- 7. VBA find-replace macro для MSWord 2013
- 8. Regex Пуллс некоторые биты из строки
- 9. Как установить разные биты в VBA
- 10. VBA - macro msword - Вставить заголовок таблицы после преобразования csv
- 11. MSWord пакетная передискретизация изображений
- 12. VBA - Генерировать файл Excel из Access (QueryTable)
- 13. Почему псевдослучайные биты не кэшируются, когда используется только один бит для «рисования» (например, вызов nextBoolean)?
- 14. генерировать данные из отформатированной строки
- 15. MATLAB генерировать комбинацию из строки
- 16. Копирование строки в биты в сжатии Хаффмана
- 17. MSWord 2010-Последовательная нумерация
- 18. GetCrossReferenceItems в MSWord и VBA, показывая только ограниченное содержание
- 19. Отключить или переопределить команды ленты/CommandBar в MSWord, используя VBA
- 20. Как машины без RTC генерируют псевдослучайные числа?
- 21. крадут биты из указателя
- 22. Удалить биты из числа
- 23. Генерировать предупреждение при удалении строки в excel
- 24. Как выбрать псевдослучайные значения в массиве Javascript
- 25. Согласованные псевдослучайные числа по платформам
- 26. Как генерировать псевдослучайные числа в равномерном и гауссовском распределении без float/double numbers?
- 27. Как получить текущий номер страницы в msword
- 28. MSWord нарушение Hard Link
- 29. Поворот биты в питона
- 30. Строка в биты C++
Как интересно, я обязан спросить [что вы пробовали?] (Http://mattgemmell.com/what-have-you-tried/) Вы также должны немного уточнить свой вопрос. Вы запрашиваете «случайные» биты, которые на самом деле являются «101» и «1001» соответственно. – RubberDuck