Интернет магазин китайских планшетных компьютеров |
|
Компьютеры - PJW-32 - Алгоритм hashpjw30 июня 2011Оглавление: 1. PJW-32 2. Алгоритм hashpjw 3. Использование В изначальном варианте, алгоритм был адаптирован на работу с хеш-таблицами, то есть на начальной стадии имелось сообщение s произвольной длины L, от которого требовалось найти хеш значение h. Перед вычислением значение h устанавливается в 0. Сообщение считывается посимвольно. Число m предполагаемый размер таблицы. Шаг 1Каждый считанный символ с сообщения s переводится в число, а затем рассматривается его битовое значение. Преобразование отдельного символа в целое число обычно поддерживается языками программирования. Например, Pascal предоставляет для этого функцию ord, а С автоматически преобразовывает символ в целое число при выполнении арифметических операций. Шаг 2Производится проверка: если любой из 4 старших битов h равен 1 то сдвигаем их вправо на 24 позиции. Затем выполняем операцию исключающего или со значением h и сбрасываем значения 4 старших битов в 0. Шаг 3После проведения шагов 1-2 со всеми символами сообщения s, производится деление h по модулю m. Полученное число это номер списка в таблице, к которому следует присоединить данную строку. Исходный текстunsigned int PJWHash { unsigned int hash = 0; unsigned int test = 0; unsigned int i = 0; for { hash = + ; if != 0) { hash = ) & ); } } return hash; } Просмотров: 2404
|