Half-Life и Adrenaline Gamer форум

Всё об игре в Халф-Лайф и АГ
Текущее время: 05 июн 2024, 14:17

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
 Заголовок сообщения: Битовые операторы
СообщениеДобавлено: 06 мар 2011, 13:19 
Не в сети
Аватара пользователя
Зарегистрирован:
24 янв 2011, 03:32
Последнее посещение:
09 дек 2021, 03:04
Сообщения: 756
Откуда: Futurama
что делают операторы,
в руководстве не очень понятно расписано

1) (3 << 3) = ? (24 >> 3) = ?
2) (9 & 8 ) (16 & 4)
3) (9 | 3)
4) (~(9))


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: подскажите :)
СообщениеДобавлено: 06 мар 2011, 13:20 
Не в сети
Аватара пользователя
Зарегистрирован:
06 июн 2010, 16:53
Последнее посещение:
31 май 2024, 14:24
Сообщения: 1143
Откуда: Владивосток
http://amx-x.ru/viewtopic.php?f=9&t=114

_________________
Изображение
Vi Veri Veniversum Vivus Vici


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: Битовые операторы
СообщениеДобавлено: 29 сен 2011, 21:34 
Не в сети
Аватара пользователя
Зарегистрирован:
24 янв 2011, 03:32
Последнее посещение:
09 дек 2021, 03:04
Сообщения: 756
Откуда: Futurama
О мудрейшие ... требуется ваша помощь

Столкнулся с проблемкой: нужно относительно квара(через биты) выполнять условие. Пробывал всяко ^ & | ~ . Допустим квар = 9(сумма констант), нужно чтобы выполнялись только 4й и 5й элементы списка
Код:
enum _:Q3_RUNES
{
   QUAD_DMG = 1,
   REGENERATION,
   HASTE,
   INVISIBILITY,
   DEFENCE
}
:sorry:


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: Битовые операторы
СообщениеДобавлено: 30 сен 2011, 01:24 
Не в сети
Site Admin
Зарегистрирован:
01 июн 2010, 01:27
Последнее посещение:
05 июн 2024, 00:23
Сообщения: 6871
9d = b1001 - первый и четвертый элементы.
Чтобы были 5й и 4й надо: b11000 = 24d - это (16+8).

И ещё: давай мы тебя пошлем рекурсивно: viewtopic.php?p=3429#p3429. :D


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: Битовые операторы
СообщениеДобавлено: 30 сен 2011, 03:45 
Не в сети
Аватара пользователя
Зарегистрирован:
24 янв 2011, 03:32
Последнее посещение:
09 дек 2021, 03:04
Сообщения: 756
Откуда: Futurama
Lev
Хорошо что я умею читать мысли на расстоянии, иначе твои "b" "d" меня бы смутили :ROFL:
То что там написано - математические операции | & и т.д. а мне немного иное нужно было, ответ для себя подчеркнул(осталось немного до ума довести) из 2х много информативных строк:
Цитата:
9d = b1001 - первый и четвертый элементы.
Чтобы были 5й и 4й надо: b11000 = 24d - это (16+8)
Только вот нигде не уточнялось про "24d - это (16+8)". Попробывал и правда - можно 2-ичные узнавать без преобразований а прям в уме за 2 сек :-*


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: Битовые операторы
СообщениеДобавлено: 21 окт 2011, 13:43 
Не в сети
Аватара пользователя
Зарегистрирован:
24 янв 2011, 03:32
Последнее посещение:
09 дек 2021, 03:04
Сообщения: 756
Откуда: Futurama
Подскажите плиз. Так правильно ? если событие может быть > 31 . Или это не имеет значения и использовать просто битсумму
Код:
#define WP_BLOCK(%1) (1 << %1 & ~(1 << 19 | 1 << 25 | 1 << 26))

public Play_back_event_Pre(flags, id, eventid)
{
   if(eventid < 29 && WP_BLOCK(eventid)) // Это условие
   {
   // code
   }
}


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: Битовые операторы
СообщениеДобавлено: 21 окт 2011, 16:30 
Не в сети
Site Admin
Зарегистрирован:
01 июн 2010, 01:27
Последнее посещение:
05 июн 2024, 00:23
Сообщения: 6871
Лично я не понял, что тебе надо. И eventid это битовое поле? Если нет, то правильнее юзать switch.


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: Битовые операторы
СообщениеДобавлено: 21 окт 2011, 23:20 
Не в сети
Аватара пользователя
Зарегистрирован:
24 янв 2011, 03:32
Последнее посещение:
09 дек 2021, 03:04
Сообщения: 756
Откуда: Futurama
Lev
eventid - это id события (на подобие DeathMsg имеет индекс 23). Пределов значений не знаю, может быть и 120 ... мб и больше. switch не подходит т.к. есть определенный ряд событий с 1-28, исключения составляют 19, 25, 26 . Отсюда и вопрос


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: Битовые операторы
СообщениеДобавлено: 21 окт 2011, 23:59 
Не в сети
Site Admin
Зарегистрирован:
01 июн 2010, 01:27
Последнее посещение:
05 июн 2024, 00:23
Сообщения: 6871
Проверка if(eventid < 29 исключит значения больше 29, так что всё равно, что могло бы произойти с ними в WP_BLOCK.


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: Битовые операторы
СообщениеДобавлено: 22 окт 2011, 00:18 
Не в сети
Аватара пользователя
Зарегистрирован:
24 янв 2011, 03:32
Последнее посещение:
09 дек 2021, 03:04
Сообщения: 756
Откуда: Futurama
Lev
Это понятно, прост хотелось исключительно через биты решить этот вопрос (но походу так проще)


Вернуться к началу
 Профиль 
  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 10 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB