![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| wesadex |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 83 Регистрация: 21.6.2005 Репутация: нет Всего: нет |
может где-то уже есть, но не нашел...
Всем привет! Помогите плииз, может кто делал уже: Нужно: из строки неопределенной (определенной) длины сделать число так, чтобы эта строка однозначно определялась числом, т.е. эта строка - это число, другая строка - другое число и не иначе. Число должно быть максимально возможно коротким. Если усложнить: число должно быть от 0 до 9. Т.е. из строки получается число, но только из какой-то определенной строки получится скажем 8, а изо всех остальных - другое... |
|||
|
||||
| Демо |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 30 Всего: 50 |
Это невозможно.
-------------------- |
|||
|
||||
| ТоляМБА |
|
|||
![]() Котэ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1607 Регистрация: 15.12.2004 Репутация: нет Всего: 252 |
Приведи пример чего ты хочешь. Например строка - из нее число 1. И так строки три. Опиши критерий присвоения числа к строке. По-моему ты имеешь ввиду что-то типа id в БД?
|
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 36 Всего: 329 |
а если строк 1000, как можно однозначно обозначить строку от 0 до 9???
|
|||
|
||||
| Демо |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 30 Всего: 50 |
Да даже если использовать числа длиной 20 знаков, 30 знаков... Всегда найдется строка, хеш которой будет совпадать с уже существующим... -------------------- |
|||
|
||||
| wesadex |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 83 Регистрация: 21.6.2005 Репутация: нет Всего: нет |
Хорошо, а если усложнение убрать и попытаться уложиться в три десятичных разряда?
Сколько значений может принимать хэш-функция от строки длиной 20 разрядов, в которой только буквы латиницы (A-F заглавные) и цифры (написание шестнадцатиричного числа строкой)? Или вот так еще можно вопрос задать: какой длины должна быть строка, чтобы результат возни с ней умещался в диапазон 0-999 и однозначно определял строку? Ну и соответственно какой алгоритм "даст" наибольшую длину строки? Это сообщение отредактировал(а) wesadex - 15.2.2006, 13:09 |
|||
|
||||
| Демо |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 30 Всего: 50 |
Функция получения хеша:
© Джулиан Бакнелл, Фундаментальные стпуктуры и алгоритмы данных в DELPHI. -------------------- |
|||
|
||||
| Bose |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1458 Регистрация: 5.3.2005 Где: Riga, Latvia Репутация: 23 Всего: 51 |
целиком поместятся только 2 символа 16ричных.. FF
|
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |