powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Как упаковать последовательность бит в число Int?
22 сообщений из 22, страница 1 из 1
Как упаковать последовательность бит в число Int?
    #33545048
unicornmirage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.
такой вопрос:
есть последовательность бит
1110101011101010101....10101

максимальная длина последовательности - 4096 бит

как можно упаковать эту последовательность в число int с возможностью последующей распаковки?
...
Рейтинг: 0 / 0
Как упаковать последовательность бит в число Int?
    #33545049
Tov. Drujba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никак.
...
Рейтинг: 0 / 0
Как упаковать последовательность бит в число Int?
    #33545050
unicornmirage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tov. DrujbaНикак.
вообще то и правда :) извините, туплю...
...
Рейтинг: 0 / 0
Как упаковать последовательность бит в число Int?
    #33545052
Tov. Drujba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А почему именно int?
Упаковать то можно, но не в него, родимого.
...
Рейтинг: 0 / 0
Как упаковать последовательность бит в число Int?
    #33545053
unicornmirage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мене нужно хранить примерно 4096 флагов, для флага я выделяю один бит.. и сейчас задача - выбрать наиболее экономный вариант хранения...
...
Рейтинг: 0 / 0
Как упаковать последовательность бит в число Int?
    #33545054
unicornmirage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
наверное стоит смотреть в сторону алгоритма gzip но только для битов а не байтов?
...
Рейтинг: 0 / 0
Как упаковать последовательность бит в число Int?
    #33545680
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
unicornmirageмене нужно хранить примерно 4096 флагов, для флага я выделяю один бит.. и сейчас задача - выбрать наиболее экономный вариант хранения...
все флаги независимы друг от друга?
каково среднее количество установленных флагов?
в какой СУБД или в каком языке это предполагается делать?
...
Рейтинг: 0 / 0
Как упаковать последовательность бит в число Int?
    #33545708
unicornmirage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft
все флаги независимы друг от друга?
каково среднее количество установленных флагов?
в какой СУБД или в каком языке это предполагается делать?

полагаю что флаги независимы, я решаю задачу по хранению состояния 4096 объектов, вообще это задача, описанная вот здесь , вкратце - я хочу сохранять значения тем как помеченные или непомеченные для форума, тем может быть 4096 в одном форуме, а вот среднее количество устанавливаемых флагов - не знаю.. наверное чаще всего либо почти все 1 либо наоборот, средних состояний наверное не будет..
...
Рейтинг: 0 / 0
Как упаковать последовательность бит в число Int?
    #33545719
unicornmirage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в дополнение забыл сказать:
эти флаги собираюсь хранить в Cookie, либо есть вариант в БД
СУБД - MySQL, а язык - Java
...
Рейтинг: 0 / 0
Как упаковать последовательность бит в число Int?
    #33545732
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
unicornmirageвкратце - я хочу сохранять значения тем как помеченные или непомеченные для форума, тем может быть 4096 в одном форуме, а вот среднее количество устанавливаемых флагов - не знаю.. наверное чаще всего либо почти все 1 либо наоборот, средних состояний наверное не будет..
а не проще тогда хранить номера флагов, состояние которых отлично от основной массы?
...
Рейтинг: 0 / 0
Как упаковать последовательность бит в число Int?
    #33546077
unicornmirage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft unicornmirageвкратце - я хочу сохранять значения тем как помеченные или непомеченные для форума, тем может быть 4096 в одном форуме, а вот среднее количество устанавливаемых флагов - не знаю.. наверное чаще всего либо почти все 1 либо наоборот, средних состояний наверное не будет..
а не проще тогда хранить номера флагов, состояние которых отлично от основной массы?

хм... Вы подкинули интересную идею! хранить только номера флагов и + один флаг - хранит это общее значение! супер!
...
Рейтинг: 0 / 0
Как упаковать последовательность бит в число Int?
    #33547789
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А выборки по этим критериям не предполагается?
Как правило, скорость выборки гораздо существеннее потери даже нескольких килобайт места на запись.
...
Рейтинг: 0 / 0
Как упаковать последовательность бит в число Int?
    #33549508
unicornmirage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DocAlА выборки по этим критериям не предполагается?
Как правило, скорость выборки гораздо существеннее потери даже нескольких килобайт места на запись.

я может не совсем правильно понял, но я планирую хранить этот вектор в каком то примитиве - например число long или int, а если не хватит то вектор чисел. таким образом двоичное представление этих чисел (тоесть битовый вектор) и будет являться моим искомым вектором состояний для 4096 объектов.
Выборку отдельных битов (состояний) производить обычными побитовыми операциями.
я писал тест на java и замерял время - работает очень быстро! поэтому встал вопрос о эффективном хранении этого вектора.
...
Рейтинг: 0 / 0
Как упаковать последовательность бит в число Int?
    #33549534
Tov. Drujba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Погугли LHZ.
Это архиватор. Исходники открыты.
Иного идей почерпнеш.
...
Рейтинг: 0 / 0
Как упаковать последовательность бит в число Int?
    #33549575
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
имхо, обычными архиваторами типа LZH сжимать 4096 бит=512 байт не будет эффективно, т.к. относительно велики накладные расходы (заголовок, словарь, еще что-то...).
...
Рейтинг: 0 / 0
Как упаковать последовательность бит в число Int?
    #33549586
Tov. Drujba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я ж не говорю про использование. Я говорю про посмотреть идеи. Тот же словать, например...
...
Рейтинг: 0 / 0
Как упаковать последовательность бит в число Int?
    #33549716
unicornmirage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а вот интересно кстати как на этом форуме (sql.ru) сделано - для каждого форума создается cookie=632757032231774467, интересно что это за число, я предполагаю что это как раз какой нибудь вектор состояний для новых/неновых тем
...
Рейтинг: 0 / 0
Как упаковать последовательность бит в число Int?
    #33549725
unicornmirage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftимхо, обычными архиваторами типа LZH сжимать 4096 бит=512 байт не будет эффективно, т.к. относительно велики накладные расходы (заголовок, словарь, еще что-то...).

кстати словарь получится только из 2-х слов "0" и "1"
...
Рейтинг: 0 / 0
Как упаковать последовательность бит в число Int?
    #33549743
Tov. Drujba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
unicornmirageкстати словарь получится только из 2-х слов "0" и "1"
Ты почитай, не ленись. Словарь - это совсем не 1 и 0...
...
Рейтинг: 0 / 0
Как упаковать последовательность бит в число Int?
    #33556202
DDE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DDE
Гость
unicornmirageмене нужно хранить примерно 4096 флагов, для флага я выделяю один бит.. и сейчас задача - выбрать наиболее экономный вариант хранения...
Ты ыбрал самый экономный вариант, имхо.
Класс для работы с файлом на битовом уровне на подсказку.
...
Рейтинг: 0 / 0
Как упаковать последовательность бит в число Int?
    #33560049
Фотография Палестинец
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тем может быть 4096 в одном форуме

Угу.. а памяти в 650 кб достаточно для любой программы сейчас и в обозримом будущем..

как можно упаковать эту последовательность в число int с возможностью последующей распаковки?

есть такие типы полей как Image и Binary.. ( эквиваленты в MySql не знаю как называются)

Хотя на мне чесно говоря непонятно как по биту можно определить ID темы.

ваще наверно у каждого пользователя надо просто хранить список ID прочитанных тем.. чо там размеры то смешные..

Когда база вырастет на основе статистики распределения прочитанных тем сможешь вычислить алгоритм сжатия :-)

зы. кукис есть вещь плохая так как польз форума могут работать за разными компами ну и например sql.ru отличается от www.sql.ru . вообщем неюзабильно )..
...
Рейтинг: 0 / 0
Как упаковать последовательность бит в число Int?
    #33561872
unicornmirage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Палестинец
Хотя на мне чесно говоря непонятно как по биту можно определить ID темы.
ваще наверно у каждого пользователя надо просто хранить список ID прочитанных тем.. чо там размеры то смешные..


номер бита - номер темы в форуме.
вообще то почему встал вопрос хранить эту инфу в куках - вход может быть гостевым - а для каждого гостя хранить в базе инфу имхо не очень хорошо.
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Как упаковать последовательность бит в число Int?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]