Русское сообщество по скриптингу

Битовый сдвиг и 32 игрока  [Решено]

Все вопросы по скриптингу для AMXX, помощь в редактировании плагинов.

Модераторы: Subb98, liFe iS GoOD

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только скриптинга для AMX Mod X.

Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [code=php].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sma плагина.

Re: Битовый сдвиг и 32 игрока

Сообщение NEoMASTERR » 03 фев 2017, 23:24

id 32 [0000 0000 0000 0000 0000 0000 0000 0001] bitset 1

Занимает первый бит

Добавлено спустя 1 минуту 40 секунд:
id 0 [0000 0000 0000 0000 0000 0000 0000 0000] bitset 0
id 1 [0000 0000 0000 0000 0000 0000 0000 0010] bitset 2
id 2 [0000 0000 0000 0000 0000 0000 0000 0100] bitset 4

не занимают первый бит
Аватара пользователя
NEoMASTERR
 
Сообщения: 832
Зарегистрирован: 05 янв 2015, 16:38
Благодарил (а): 43 раз.
Поблагодарили: 188 раз.
Опыт программирования: Около года
Языки программирования: Counter-Strike 1.6

Re: Битовый сдвиг и 32 игрока

Сообщение zhorzh78 » 05 фев 2017, 10:39

Код: Выделить всё
#define bit_set(%0,%1)     (%1 |= (1<<(%0 & 31))) 
=
#define bit_set(%0,%1)     (%1 |= (1<<(%0 - 1)))      

На примере результата:
Код: Выделить всё
id 32 [0000 0000 0000 0000 0000 0000 0000 0001] bitset 1
id 1 
[0000 0000 0000 0000 0000 0000 0000 0010] bitset 2
id 2 
[0000 0000 0000 0000 0000 0000 0000 0100] bitset 4

id 1 займет позицию id - 1, т.е. не 2, а 1
id 2 займет позицию id - 1, т.е. не 3, а 2
Аватара пользователя
zhorzh78
 
Сообщения: 91
Зарегистрирован: 26 фев 2014, 10:07
Благодарил (а): 1 раз.
Поблагодарили: 23 раз.
Опыт программирования: Больше трех лет
Языки программирования: Pawn (AMXX)

Re: Битовый сдвиг и 32 игрока

Сообщение NEoMASTERR » 05 фев 2017, 12:24

NEoMASTERR писал(а):Есть ли практическая польза если результаты совпадают?
Аватара пользователя
NEoMASTERR
 
Сообщения: 832
Зарегистрирован: 05 янв 2015, 16:38
Благодарил (а): 43 раз.
Поблагодарили: 188 раз.
Опыт программирования: Около года
Языки программирования: Counter-Strike 1.6

Пред.

Вернуться в Скриптинг

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5