Часто это потому, что вы хотите использовать хеш-значение или его часть для быстрого хранения и поиска значений в массиве фиксированного размера. (Так работает, например, не-изменяемая хэш-таблица.)
И зачем использовать массив фиксированного размера вместо какой-либо другой, растущей структуры данных (например, связанного списка или двоичного дерева)? Поскольку доступ к ним имеет тенденцию быть как теоретически, так и практически быстрым: при условии, что хеш-функция хороша, а доля занятых записей в таблице не слишком высока, вы получаете O (1) поиск (по сравнению с O (log n) поиском для дерева основанные на данных структуры или O (n) для списков) в среднем. И эти обращения на практике бывают быстрыми: после вычисления хэша, который обычно занимает линейное время в размере ключа с низкой скрытой константой, часто происходит просто сдвиг бит, бит-маска и один или два косвенных обращения к памяти в смежные блок (a) хорошо использует кеш и (b) хорошо подходит для современных процессоров, потому что требуется небольшое количество указателей.
хэш - это сжатая (потерянная) версия исходных данных. Малоточечные данные хэширования будут меньше размера хэша. Это было меньше, тогда вы, вероятно, могли бы его восстановить .... –
даже хэширование больших данных дает одинаковый размер, нет? Мой вопрос заключается в том, почему дизайнер проектировал его как таковой, хотя ... – Alvida
Разный размер предположительно дал бы некоторые подсказки оригинальной композиции (?) –