Битовое хранение данных (флагов)
|
|
Romanius | Дата: Пятница, 06.05.2011, 07:39 | Сообщение # 31 |
Новенький
Группа:
Продвинутые
Сообщений: 24
Награды: 1
Город: Bishkek
Репутация: 47
Замечания: 0%
Статус:
| в конце enum можно и ставить или не ставить запятую. разницы нет. я ставлю, т.к. если что то буду добавлять, чтобы потом не искать где запятую пропустил. Кстате, в павн еще реализовали псевдо-классы. Очень удобно, могу поделица наработками И чтобы не создавать массив чисел, делай сдвиг влево на кол-во ввиде bitid - 1: Code stock SetBitState(const bitid, &var, bool: status) { if(31 < bitid < 0) { printf("Бит айди (bitid) должен быть не меньше 0 и не больше 31!"); return; } new ssci = 1 << (bitid - 1); if(status) var |= ssci; else var &= ~ssci; return; }
stock bool:GetBitState(const bitid, const var) { if(31 < bitid < 0) { printf("Бит айди (bitid) должен быть не меньше 0 и не больше 31!"); return false; } if(var & (1 << (bitid - 1))) return true; return false; } Немного модифицировал функции
Сообщение отредактировал Romanius - Пятница, 06.05.2011, 08:03 |
|
|
|
toneysix | Дата: Пятница, 06.05.2011, 17:56 | Сообщение # 32 |
Джэдай
Группа:
I'm V.I.P.
Сообщений: 1731
Награды: 77
Город: Салават
Репутация: 1825
Замечания: 0%
Статус:
| Romanius интересно) просто я специально создал маску, чтобы так сказать уменьшить расчет, на счет классов очень интересно, с удовольствием посмотрю.
Русскоязычныи портал о MTA/GTA-IV-MP | http://multi-theft-auto.ru
|
|
|
|
Romanius | Дата: Пятница, 06.05.2011, 18:00 | Сообщение # 33 |
Новенький
Группа:
Продвинутые
Сообщений: 24
Награды: 1
Город: Bishkek
Репутация: 47
Замечания: 0%
Статус:
| http://forum.sa-mp.com/showthread.php?t=167528 Если вдруг чо, разжую, если смогу
|
|
|
|
toneysix | Дата: Суббота, 07.05.2011, 18:17 | Сообщение # 34 |
Джэдай
Группа:
I'm V.I.P.
Сообщений: 1731
Награды: 77
Город: Салават
Репутация: 1825
Замечания: 0%
Статус:
| Не люблю разбирать код Y_LESS'а, он пишет крайне запутанно, применяет такие директивы, как #emit, казалось бы там, где можно обойтись без них, в целом вроде все понятно, кроме некоторых фишек, к тому же, как я понял у нет нет дочерних элементов, например, как в си видимость, public, private, protected?
Русскоязычныи портал о MTA/GTA-IV-MP | http://multi-theft-auto.ru
|
|
|
|
Romanius | Дата: Суббота, 07.05.2011, 22:51 | Сообщение # 35 |
Новенький
Группа:
Продвинутые
Сообщений: 24
Награды: 1
Город: Bishkek
Репутация: 47
Замечания: 0%
Статус:
| Да такого нет. Это же все таки игра с названиями функций Все же псевдо-классы. Но убодно использовать их. директива #emit очень даже полезна в некоторых случиях, аля ассамблерные вставки в си. Поделюсь одним классом если нужно, но не глобально, не качу палить его
|
|
|
|
Dreven | Дата: Среда, 05.09.2012, 14:28 | Сообщение # 36 |
Гуру
Группа:
Продвинутые
Сообщений: 1096
Награды: 205
Город: od.ua
Репутация: 1099
Замечания: 0%
Статус:
| ссылка не работает, я так понимаю там инклуд А скачать не могу(
www.samp-rpg.com
Сообщение отредактировал Dreven - Среда, 05.09.2012, 14:28 |
|
|
|
Morozzzko | Дата: Среда, 05.09.2012, 16:11 | Сообщение # 37 |
Мастер джэдай
Группа:
Продвинутые
Сообщений: 2179
Награды: 40
Город: Moscow
Репутация: 590
Замечания: 0%
Статус:
| Dreven, инклуд, не инклуд, всё работает в павне и так, без лишних функций. Погуглите binary AND и binary OR. В павне это есть. И работать удобнее, нежели вот таким образом.
Главный программист в Malefic Entertainment.
|
|
|
|