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

Подробнее о ( 1<<0 )...

Все вопросы по работе и настройке AMXX и его плагинов.

Модератор: liFe iS GoOD

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

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

Подробнее о ( 1<<0 )...

Сообщение 404_404 » 13 май 2017, 01:25

Доброго времени...

const ZP_TEAM_ZOMBIE = ( 1<<0 );
const ZP_TEAM_HUMAN = ( 1<<1 );
iTeams |= ZP_TEAM_ZOMBIE;

Хотелось бы узнать, что это ( ( 1<<0 ) / ( 1<<1 ) ) такое и где его использовать и что значит iTeams |= ( 1<<0 )
Аватара пользователя
404_404
 
Сообщения: 2
Зарегистрирован: 13 май 2017, 01:18
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.

Re: Подробнее о ( 1<<0 )...

Сообщение BaHeK » 13 май 2017, 01:42


[spoiler]Я VS VolksWagen POLO, МКАД
Психанул или моя русская рулетка
http://cs618330.vk.me/v618330946/8c16/hEeTVyYjCZw.jpg - Ой как плохо поступил[/spoiler]
Аватара пользователя
BaHeK
Скриптер
 
Сообщения: 544
Зарегистрирован: 26 авг 2011, 19:32
Откуда: Москва
Благодарил (а): 403 раз.
Поблагодарили: 261 раз.
Опыт программирования: Больше трех лет
Языки программирования: Counter-Strike 1.6

Re: Подробнее о ( 1<<0 )...

Сообщение 404_404 » 13 май 2017, 04:11

Судя по статье это

Код: Выделить всё
const ZP_TEAM_ZOMBIE = (1<<0)
const ZP_TEAM_HUMAN = (1<<1)
const ZP_TEAM_NEMESIS = (1<<2)
const ZP_TEAM_SURVIVOR = (1<<3)

могло бы быть этим

Код: Выделить всё
const ZP_TEAM_ZOMBIE = 0
const ZP_TEAM_HUMAN 
= 1
const ZP_TEAM_NEMESIS 
= 2
const ZP_TEAM_SURVIVOR 
= 3

или этим

Код: Выделить всё
enum
{
 ZP_TEAM_ZOMBIE,
 ZP_TEAM_HUMAN,
 ZP_TEAM_NEMESIS,
 ZP_TEAM_SURVIVOR

?

Верно?
Аватара пользователя
404_404
 
Сообщения: 2
Зарегистрирован: 13 май 2017, 01:18
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.

Re: Подробнее о ( 1<<0 )...

Сообщение Mistrick » 13 май 2017, 13:03

404_404, нет.
<< - оператор битового сдвига.
1 << 0 - единицу сдвигает влево на 0 разрядов, в десятичной системе счисления получаем 1, 2^0 = 1
1 << 1 - сдвиг уже на 1. 2^1 = 2
1 << 2 - 2^2 = 4
1 << 3 - 2^3 = 8
Теперь вы уверены, что 1, 2, 4, 8 будут равны 0, 1, 2, 3?
Лучше почитайте про биты еще в других источниках. Для С++ подойдет и для PAWN.
Аватара пользователя
Mistrick
Скриптер
 
Сообщения: 2940
Зарегистрирован: 04 ноя 2012, 18:15
Благодарил (а): 43 раз.
Поблагодарили: 1247 раз.
Языки программирования: PAWN
С/С++(few above zero)


Вернуться в Вопросы по AMXX и его плагинам

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

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