Как сгенерировать хеш-код строки в C ++, который будет ограничен диапазон? - PullRequest
0 голосов
/ 28 января 2019

У меня в файле конфигурации 100 значений.Каждое значение представляет собой сборку из 2 символов, которые могут быть как 90 или AA или 04 или TR или FE

Я хочу сгенерировать хэш-код каждого значения - и сохранить их в массиве, который содержит 100 элементов - и каждый иззначения из конфигурации будут сохранены в индексе хеш-кода в массиве.

Вопрос:

Как создать хеш-код из 2 символов, чтобы хеш-код ограничивался от 0 до 99

1 Ответ

0 голосов
/ 28 января 2019

То, что вам нужно в вашем конкретном случае (отображение фиксированного набора 2-байтовых последовательностей в последовательные числа), называется идеальное хеширование .

Хотя вы можете реализовать это самостоятельно, естьинструмент с открытым исходным кодом под названием gperf , который может сгенерировать для вас код:

Существуют опции для генерации кода на C или C ++, для генерации операторов switch или вложенных if вместо хешатаблицы, и для настройки алгоритма, используемого gperf.

...