ufm: (Default)
[personal profile] ufm
Нужна библиотека под Ц/Ц++ (но лучше под Ц), умеющая работать с битовыми полями.
Что конкретно нужно:
- объявление битового поля размерностью хотя-бы до 1024 бита. Лучше, конечно, без ограничений.
- двоичные операции над такими полями.
- подсчёт числа нулей/едениц в поле.

Есть такое в природе?

(no subject)

Date: 2006-08-29 04:22 (UTC)
From: [identity profile] bacek.livejournal.com
В glib'е нет случайно?

(no subject)

Date: 2006-08-29 04:27 (UTC)
From: [identity profile] galkao.livejournal.com
Ну ты попал со своим вопросом под мое веселое настроение:-)

>Нужна библиотека под Ц/Ц++ (но лучше под Ц), умеющая работать с битовыми полями.

Битовые поля - это поля, на которых лежат биты?

>Что конкретно нужно:
>- объявление битового поля размерностью хотя-бы до 1024 бита. Лучше, конечно, без >ограничений.

Так завези машину с 1024 битами на любое поле - вот тебе и будет, что хотел. Завезешь больше - будет больше.


- двоичные операции над такими полями.

Просто надо очень много выпить, чтобы поля раздвоились.

- подсчёт числа нулей/едениц в поле.

Боюсь, после предыдущего пункта это будет сложновато...

(no subject)

Date: 2006-08-29 05:14 (UTC)
From: [identity profile] ctpeko3a.livejournal.com
Вышел Фёдор в поле. Считать нуля и единицы. :о)) Практически картина Репина!

(no subject)

Date: 2006-08-29 06:05 (UTC)
From: [identity profile] 314159265.livejournal.com
Можно попробовать посмотреть на http://bmagic.sourceforge.net/index.html, вроде там было то что надо.

(no subject)

Date: 2006-08-29 06:10 (UTC)
From: [identity profile] uncle-asa.livejournal.com
Можно я? Я знаю, хоть и не пробовал! :) В STL bitset есть.

(no subject)

Date: 2006-08-29 06:10 (UTC)
From: [identity profile] uncle-asa.livejournal.com
http://www.sgi.com/tech/stl/bitset.html

(no subject)

Date: 2006-08-29 06:42 (UTC)
From: [identity profile] lazyboa.livejournal.com
Задумался про
bool *bit_array = new bool [1024];
Изврат, конечно, редкий :-)

(no subject)

Date: 2006-08-29 06:49 (UTC)
From: [identity profile] k-g-b.livejournal.com
А по-моему, вполне себе решение ... Только вот со сдвигами тут сложненько будет.

(no subject)

Date: 2006-08-29 07:06 (UTC)
From: [identity profile] blacklion.livejournal.com
Отличный способ использовать в 8-32 раза больше памяти (как повезет), чем требуется. Так держать.

(no subject)

Date: 2006-08-29 07:14 (UTC)
From: [identity profile] lazyboa.livejournal.com
Какие сдвиги, bool == int ;-)

(no subject)

Date: 2006-08-29 07:18 (UTC)
From: [identity profile] lazyboa.livejournal.com
Если удобство/скорость важнее, то да, можно каждый бит засунуть в отдельный байт и упаковывать только при записи.

А так, были раньше библиотеки для работы с CGA/EGA дисплеями, там сдвиги и маски активно применялись.

Ищи bitstrings

Date: 2006-08-29 10:07 (UTC)
From: [identity profile] k-g-b.livejournal.com
http://store.in.ru/docs/gnu/libg++/Bit.html не то что что тебе надо?

(no subject)

Date: 2006-08-29 10:32 (UTC)
From: [identity profile] fdv.livejournal.com
Вышел заяц на крыльцо...


Ничего личного. Просто - "музыкой навеяло"! ;-)

(no subject)

Date: 2006-08-29 10:34 (UTC)
From: [identity profile] fdv.livejournal.com
Вконец заинтриговал... ;)
Что за задача, если это не военная тайна?

(no subject)

Date: 2006-08-29 11:38 (UTC)
From: [identity profile] dimas.livejournal.com
ну и сделай циклический сдвиг по всем битам этак на три влево. ы?

Re: Ищи bitstrings

Date: 2006-08-29 14:24 (UTC)
From: [identity profile] ufm.livejournal.com
Оно. Тхенькс.