|
Значки [ & ] [ | ] [ &~ ] [ &= ~ ] [ |= ] и что они означают
|
|
| Koka | Дата: Воскресенье, 05.10.2008, 19:22:04 | Сообщение # 1 |
 Полковник
Группа: Пользователи
Сообщений: 169
Статус: Не в сети
| сабж, вот значки и что они означают скажите пожалуйста [ & ] [ | ] [ & ~ ] [ &= ~ ] [ |= ] какие еще есть "значки" и что они означают ( кроме стандартных которые я знаю [ == ] [ != ] [ >= ] [ > ] [ <= ] [ < ] [ && ] )
стал ощущать рефлексы тоньше, оставаясь как всегда с идеей той же...
|
| |
|
|
| Argus | Дата: Воскресенье, 05.10.2008, 20:17:05 | Сообщение # 2 |
 AMXModX Fan
Группа: Cупер-модеры
Сообщений: 379
Статус: Не в сети
| • e – любое выражение; • i – целое или символ; ie обозначает произвольное целое выражение: ~ie – инверсия или дополнение до единицы (НЕ); значение каждого разряда изменя-ется с 0 на 1, или с 1 на 0. Например: пусть aa=5 и aa типа unsigned short( 5 в двоичной системе – 101); результат ~aa равен 1111111111111010 или 65530; ie1 | ie2 – дизъюнкция или логическое сложение над каждой парой разрядов опе-рандов (ИЛИ); например, если aa=5, bb=0, cc=2, то результат aa|bb будет равен 0 и результат aa|ccb будет – 7, т.к. двоичные представления aa=101, bb=0, cc=10; ie1 & ie2 – конъюнкция или логическое умножение над каждой парой разрядов операндов (И); например, если aa=13, bb=0, cc=7, то результат aa&bb будет равен 0 и результат aa&cc будет – 5, т.к. двоичные представления aa=1101, bb=0, cc=111; &= или |= – присваивание
Правила форума Поиск плагинов Последние сообщения форума
|
| |
|
|
| Koka | Дата: Воскресенье, 05.10.2008, 20:49:42 | Сообщение # 3 |
 Полковник
Группа: Пользователи
Сообщений: 169
Статус: Не в сети
| спасибо Code [offtop]
&= или |= – присваивание
ie1 | ie2 aa=5, bb=0, cc=2 aa|bb будет равен 0 aa|cc будет 7
ie1 & ie2 aa=13, bb=0, cc=7 aa&bb будет равен 0 aa&cc будет 5
[/offtop] а вот с инверсией непонятно: если a = 410 new b = ~a то b сколько будет ? или как
стал ощущать рефлексы тоньше, оставаясь как всегда с идеей той же...
Сообщение отредактировал Koka - Воскресенье, 05.10.2008, 20:57:56 |
| |
|
|
| DaTa | Дата: Воскресенье, 05.10.2008, 21:29:37 | Сообщение # 4 |
|
Генерал-полковник
Группа: Cупер-модеры
Сообщений: 1025
Статус: Не в сети
| допустим a в двоичном виде имеет значение 0...00101011, тогда ~a == 1...11010100
|
| |
|
|
| dArk | Дата: Воскресенье, 05.10.2008, 21:30:55 | Сообщение # 5 |
|
Подполковник
Группа: Cупер-модеры
Сообщений: 126
Статус: Не в сети
| А что непонятно то, берёшь 410, переводишь в двоичную форму получается 110011010, теперь берёшь, там где было 1 ставишь 0, там где 0, 1, и затем отбрасываешь незначащие нули с лева, получается 1100101, или 101 в десятичной. Ещё можно по другому, берёшь ближайшую вверх степень двойки, и отнимаешь от неё 410 и ещё единицу, получается, ближайшая степень двойки от 410 это 2^9 = 512. 512 - 410 - 1 = 101.
|
| |
|
|
| Koka | Дата: Четверг, 09.10.2008, 03:38:39 | Сообщение # 6 |
 Полковник
Группа: Пользователи
Сообщений: 169
Статус: Не в сети
| спс теперь все ясно  Добавлено (2008-10-09, 3:38 Am) --------------------------------------------- о еще нашел значки Code public slowDown(id) { static Float:vel[3] pev(id, pev_velocity, vel) vel[0] /= 3.0 vel[1] /= 3.0 vel[2] /= 2.0 set_pev(id, pev_velocity, vel) } что такое /= ?
стал ощущать рефлексы тоньше, оставаясь как всегда с идеей той же...
|
| |
|
|
| DaTa | Дата: Четверг, 09.10.2008, 10:43:18 | Сообщение # 7 |
|
Генерал-полковник
Группа: Cупер-модеры
Сообщений: 1025
Статус: Не в сети
| a op= b равносильно a = a op b где op - бинарный оператор, например % * / - + | & ^ >> >>> << Полистал бы http://www.compuphase.com/pawn/pawn-lang.pdf , хоть и на английском
|
| |
|
|
| Koka | Дата: Четверг, 09.10.2008, 17:48:48 | Сообщение # 8 |
 Полковник
Группа: Пользователи
Сообщений: 169
Статус: Не в сети
| =) тоесть получается так Code public slowDown(id) { static Float:vel[3] pev(id, pev_velocity, vel) vel[0] /= 3.0 vel[1] /= 3.0 vel[2] /= 2.0 set_pev(id, pev_velocity, vel) } тоже самое что Code public slowDown(id) { static Float:vel[3] pev(id, pev_velocity, vel) vel[0] = vel[0] / 3.0 vel[1] = vel[1] / 3.0 vel[2] = vel[2] / 2.0 set_pev(id, pev_velocity, vel) } спасибо
стал ощущать рефлексы тоньше, оставаясь как всегда с идеей той же...
|
| |
|
|
| slogic | Дата: Пятница, 10.10.2008, 02:00:35 | Сообщение # 9 |
|
Генералиссимус
Группа: Админы
Сообщений: 1941
Статус: Не в сети
| не совсем то же самое, сокращенный вариант должен быть оптимальнее, хотя точно можно узнать только с пом. декомпиляции amxx
|
| |
|
|