Форум программистов, компьютерный форум CyberForum.ru

hash строк - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Просмотр текущей папки http://www.cyberforum.ru/cpp/thread86353.html
Доброго времени суток! Подскажите пожалуйста, как относительно несложно просмотреть текущую папку на наличие файлов определенного расширения. Поиск по маске проще говоря )) пытался запускать прогу отсюда, но она что-то у меня не компилится (ошибка "unresolved external symbol") читал, что не обязательно использовать функции FindFirst, FindNext, а можно самому как-то написать. Но куда копать не...
C++ Как осуществить Обработку бинарного файла? Файл содержит произвольные данные. Определить, встречается ли в файле определенная последовательность байт (заданных виде массива символов). Если встречается, то вывести на экран все смещения, где эта последовательность встречается. http://www.cyberforum.ru/cpp/thread86151.html
C++ Алгоритм Эрли
Народ, спасите мне жизнь!!!! С лабораторки нужно написать программу "Алгоритм Эрли", а моих знаний об етом алгоритме оочень мало!!! Подскажите пожалуста что он должен делатьи мб какие-то исходняки программы подкиньте.. очень прошу::help:help::help:
C++ Строка
Как в строке заключить слова начинающиеся с согласной буквы в двойные кавычки?
C++ Загрузка текстового файла в TreeView http://www.cyberforum.ru/cpp/thread85891.html
Здравствуйте! При написании программы возникла такая проблема: 1) Программно создается файл .txt 2) Хочу загрзить строки файла в компонент TreeView в GodeGear 2009 С++ Builder 3) Делаю загрузку TreeView1-> LoadFromFile(...); 4) Если до этого в файл ".txt" были внесены какие-то данные, то в TreeView строки отображаются; если же строки добавляю в TreeView программно и сохраняю TreeView:...
C++ Логарифм Дан код описание натурального логарифма ln()(разложение ряда), Кто может поправить код на С++, и описать Log2(a)=lna/ln2 Мучаюсь уже три месяца.Если кто знает еще описание куб. корня,прошу помочь private double MLn(double x0){ double x=x0; double y=0; //Получаем показатель степени String s0=""+x; int i=s0.indexOf("E"); подробнее

Показать сообщение отдельно
fasked
Эксперт C++
 Аватар для fasked
4925 / 2505 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
16.08.2010, 21:12     hash строк
insideone, когда-то проводили статистическое исследование простеньких (32 бита) хэш-функций и CRC32 показала не самые хорошие результаты. а вот такая вот оказалась вполне приемлимой, количество коллизий у нее было минимально:
C
1
2
3
4
5
6
7
8
9
10
11
unsigned int ROT13Hash (char *str, unsigned int len)
{
    unsigned int hash = 0;
    unsigned int i = 0;
 
    for (i = 0; i < len; str++, i++) {
        hash += (unsigned char)(*str);
        hash -= (hash << 13) | (hash >> 19);
    }
    return hash;
}
Цитата Сообщение от insideone Посмотреть сообщение
Чтобы она возвращала unsigned short нужно сделать с результатом ^ (sizeof(unsigned short int)*8)?
применение битовых операций никак не может уменьшить/увеличить количество бит в результате.
 
Текущее время: 03:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru