Twitt, чувак, ты считаешь этот вопрос нормальным? Я не в силах ответить на что? Как понять, правильно ли, что "6 & 2 = 2" ? Это же в школе на уроке информатики проходят.
Вот второй вопрос твой более конкретный.
Только ты не правильно написал "E_ALL ~ E_NOTICE."
~ - это отрицание. И надо было написать "E_ALL & ~ E_NOTICE" или "E_ALL | ~ E_NOTICE."
Прикол побитовых операций в том, что ими удобно оперировать, если пользоваться ими как флагами.
Смотри, мы в одном байтовом числе можем хранить 8 флагов, состояний.
То есть, вместо записи:
0) IsEnemy = true
1) WaterType = false
2) Aggressive = false
3) CanFly = true
4) HasEyes = true
5) HasFire = true
6) IsDead = false
7) IsVehicle = false
мы можем упаковать эти признаки (состояния) в число 0x00111001 => 32+16+8+1 = 57
То есть, число 57 говорит нам, что некий объект является врагом, он ещё живой, может летать, у него глаза, дышит огнём.
Слов много, я число короткое. MY_OBJ = 57
Теперь, скажем, у нас есть маска, определяющая, является ли объект летающим врагом - 0x00001001 => 9
FLYING_ENEMY = 9
Теперь мы можем сравнить наш объект:
if (MY_OBJ & FLYING_ENEMY) then {
//устанавливаем, например, флаг, что он умер
DEAD_FLAG = 0x01000000; // 64
MY_OBJ = MY_OBJ | DEAD_FLAG; => 0x01111001 = 64+57 = 121
}
Ильяс, если не находится в гугле, значит, разработчики решили не выкладывать в общий доступ информацию по своему устройству.
Этот UUID знает только их программа для связи с джойстиком и сторонним разработчикам они решили осложнить путь, чтобы они не могли работать с их устройством.
Даже если подключишься и начнёшь получать данные от характеристик, то возникнет другая проблема - что делать с полученным набором байт. Нужна будет дока, которой нет.
Знаем, плавали