Форум программистов, компьютерный форум, киберфорум
Наши страницы

utf-8 <-> int32 - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Бесплатные тесты по С++ на Brainbench http://www.cyberforum.ru/cpp/thread623156.html
На http://www.brainbench.com бесплатно доступен тест по С++. Тест не сложный, думаю, многим будет интересно попробовать свои силы и узнать слабые места. Вроде как подобные тесты иногда даже...
C++ [IDA PRO] Интересное выражение Реверсил драйвер. Наткнулся на выражение: v1 = &Irp1->Tail.Overlay.UnkUnion.CurrentStackLocation; *v1 = 12; Собственно как его понимать? Что значит ? (CurrentStackLocation - cтруктура) И... http://www.cyberforum.ru/cpp/thread622593.html
Ссылки С++ C++
На днях я испытал состояние когнитивного диссонанса и одновременно разочарования в себе и своём любимом языке программирования. Всё время, сколько я использовал плюсы я был уверен, что ссылки -...
Подскажите прицип работы программы C++
Добрый день! Сразу прошу прощения за офф-топ, к сожалению не знаю в какую ветку даже обратиться, поэтому пишу здесь. Подскажите, нужна программа с работой по принципу...
C++ Мастер-классы, сборы, обмен знаниями в Мск http://www.cyberforum.ru/cpp/thread621903.html
Братва. Есть желание продвинуться в знаниях по всему, что связано с С++: новый стандарт, библиотеки OpenCV, boost, С++ в embedded, поиск сложных багов. В свою очередь могу чем-то поделится (более...
C++ Хочу перейти на c++ Собственно сабж. Сейчас я программирую на Delphi. Что понравилось в delphi и почему начал с него: он простой и легкий. Зная очень чуть-чуть английский но не зная delphi я мог прочитать программу и... подробнее

Показать сообщение отдельно
Nick Alte
Эксперт С++
1640 / 1012 / 119
Регистрация: 27.09.2009
Сообщений: 1,945
Завершенные тесты: 1
19.07.2012, 18:50
Так надо заносить все s в этот map. А идея запихнуть вообще любую строку в 32 бита и потом без потерь и без дополнительной информации восстановить обратно наивна и утопична. Связь между строкой и её числовым идентификатором надо однозначно регистрировать через map, без этого никуда. Разве что все строки будут не более 4 байтов в длину, тогда их можно прямо использовать в качестве собственных идентификаторов. Так что схема такая: при создании любой строки s регистрируем пару s - CRC32(s) в map. При этом CRC32 выступает именно уникальным идентификатором строки (о коллизиях не беспокоимся при количестве строк где-то до 10 000) и его, разумеется, легко и просто можно вычислить безо всяких map, имея саму строку. Далее:

Если знаем s
n = CRC32(s)

Если знаем n
s = myMap[n]
2
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru