Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Работа с битами в Си


Автор: simanyay 14.2.2003, 18:33
Помогите плиз. найти инфу по работе с битами в Си.

Автор: Baa 14.2.2003, 18:53
Поищи на форуме... работа с битами обсуждалась... мною лично smile.gif а еще я рассказывал про битовые маски... так что поиск в руки...

Автор: neutrino 14.2.2003, 20:25
Mojno ispol'zovat' makrosy:

#define GetBit(x,n) ((x>>n)&1) //Vzjat' n-yi' (nachinaja s 0) bit iz chisla x
#define SetBit(x,n) (x|=(1<<n)) //Zadat' n-yi' bit (nachinaja s 0)
#define ToggleBit(x, n) (x|=(1<<n)) //"Vkljuchit'" n-yi' bit (nachinaja s 0)
#define HideBit(x, n) (x&=(0xFFFF^(1<<n))) //"Vykljuchit'" n-yi' bit (nachinaja s 0)

Mojno eshe mnogo napisat' takih makrosov, no sut' ponjatna. Potom prosto ispol'zuesh' ih kak funkcii i vse.
Hotja, vozmojno ja vopros ne tak ponjal...

Автор: Nastya 14.2.2003, 20:45
Что тебя интерисует конкретно?
Если побитовые операции, то
& - и
| - или
! - не
^ - исключающее или
<<
>> - не циклические сдвиги

Может тебе нужна информация про битовые поля или что-то еще.
Поясни конкретно.

Автор: simanyay 15.2.2003, 02:20
Мне нужно написать хедерный файл по типу <string.h> т.е. функции strcat, strncat, strcmp etc. только с битами. На форуме начинаю искать

Автор: brb 15.2.2003, 07:11
Сомневаюсь я, что заголовками можно отделаться...Функции наваять - запросто, сколько угодно, а вот чтобы через заголовки...Или я чего-то не понимаю!

Автор: sergeeff 16.2.2003, 20:53
Есть такая книга - Р.Хэзфилд, Л.Кирби. "Искусство программирования на С", DiaSoft, 2001. В ней есть глава 5 - "Игры с битами и байтами". Если книгу не найдешь, по крайней мере на www.diasoft.kiev.ua можно списать все примеры к этой книге. Хотя не грех эту главу и прочитать.

Автор: neutrino 16.2.2003, 22:16
simanyay Chto znachit zagolovkami? Define???

Автор: Nastya 17.2.2003, 01:05
Не поняла задачу.
String.h - библиотека работы сос троками и всем этим функциям в качестве пораметров передается указатель на строку, чо будет передаваться в качестве параметра у тебя (целые числа, которые нужно представить в виде двоичных чисел? или что ?)

Поясни задачу.

Автор: simanyay 17.2.2003, 22:20
Вообще в качестве параметров передаются байты - по одному байту на параметр. Препод дал задание и делай как хочешь...

Автор: Nastya 18.2.2003, 00:44
Ничего не понимаю.
Напиши задание полностью.
Хорошо есть два байта, пусть в двоичном виде они выглядят так:
00000001
00000010

Что будет результатом выполнения ф-ии
strcat ?
0000000100000010
- но это уже два байта
?

Ты у препода спроси, пусть пояснит.

Автор: Fantasist 20.2.2003, 01:02
Так вот вам neutrino уже давно все макросы для работы с битами уже написал. Что вам еще не хватает?

Автор: Phobos 21.11.2004, 00:39
Ja na c++ xrinovo soobrazaju. Mne leg4e na asm ili Asm32.

Автор: Phobos 21.11.2004, 00:39
xrenovo

Автор: bel_nikita 21.11.2004, 03:39
А вот, еще (так к слову) в STL есть std::bitset, т.е. битовые поля и манипуляции с ними.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)