Поиск:

Ответ в темуСоздание новой темы Создание опроса
> if (myint & AB_SEL), Что бы это значило 
:(
    Опции темы
Coocky
Дата 4.2.2005, 22:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GUI гуру
****


Профиль
Группа: Участник Клуба
Сообщений: 2879
Регистрация: 16.2.2004
Где: Украина. Запорожь е

Репутация: 25
Всего: 62



Расшифруйте плиз...Есть константа AB_SEL и переменная myint.Константа является одним из значений myint/Что означает данное выражение,и каков его результат?Если можно простыми словами с примером..
Читал,что вроде что-то типа при использовании битовой маски... smile


--------------------
Верю в смерть после жизни, в любовь после секса ,в крем после бритья smile        
PM ICQ   Вверх
S.A.P.
Дата 4.2.2005, 22:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2664
Регистрация: 11.6.2004

Репутация: 2
Всего: 71



Это операция И. ПРимер:
11011010001 &
01101001101
-------------------
01001000001

Надеюсь, алгоритм примерно понятен smile .

Это сообщение отредактировал(а) Perchilla - 4.2.2005, 22:55
PM MAIL   Вверх
Coocky
Дата 4.2.2005, 22:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GUI гуру
****


Профиль
Группа: Участник Клуба
Сообщений: 2879
Регистрация: 16.2.2004
Где: Украина. Запорожь е

Репутация: 25
Всего: 62



Что выполнит данное выражение?


--------------------
Верю в смерть после жизни, в любовь после секса ,в крем после бритья smile        
PM ICQ   Вверх
Fixin
Дата 4.2.2005, 23:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ёжик
***


Профиль
Группа: Комодератор
Сообщений: 1357
Регистрация: 6.1.2004

Репутация: нет
Всего: 18



Обычно так проверяют находится ли в такой-то ячейке единица или нет. Вот например есть переменная, в которую надо записать несколько параметров, тогда, например, если первый бит 1 - кнопка красная, иначе синяя. Тогда, чтобы это проверить делаем побитовое И со значением, которое определенно содержит единицу в первом бите:

01001001 И
00000001
------------
00000001 - есть единица, следовательно кнопка красная
А если в первом бите ничего, то получим ноль:

01001000 И
00000001
------------
00000000 - кнопка синяя

Так с любым битом можно поступить и записать в одну переменную довига информации.

Это сообщение отредактировал(а) Fixin - 4.2.2005, 23:14
PM MAIL ICQ   Вверх
S.A.P.
Дата 4.2.2005, 23:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2664
Регистрация: 11.6.2004

Репутация: 2
Всего: 71



Цитата(Coocky @ 4.2.2005, 22:57)
Что выполнит данное выражение?
побитовую конъюнкцию, если хочешь. smile

PM MAIL   Вверх
Fixin
Дата 4.2.2005, 23:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ёжик
***


Профиль
Группа: Комодератор
Сообщений: 1357
Регистрация: 6.1.2004

Репутация: нет
Всего: 18



Цитата
побитовую конъюнкцию, если хочешь

Можно и так. Даже оооочень коротко
PM MAIL ICQ   Вверх
Coocky
Дата 5.2.2005, 22:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GUI гуру
****


Профиль
Группа: Участник Клуба
Сообщений: 2879
Регистрация: 16.2.2004
Где: Украина. Запорожь е

Репутация: 25
Всего: 62



А в чем отличие от if (myint == AB_SEL),?


--------------------
Верю в смерть после жизни, в любовь после секса ,в крем после бритья smile        
PM ICQ   Вверх
S.A.P.
Дата 5.2.2005, 22:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2664
Регистрация: 11.6.2004

Репутация: 2
Всего: 71



Отличие в возвращаемом результате smile . Как еще можно сказать ?
PM MAIL   Вверх
Coocky
Дата 5.2.2005, 22:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GUI гуру
****


Профиль
Группа: Участник Клуба
Сообщений: 2879
Регистрация: 16.2.2004
Где: Украина. Запорожь е

Репутация: 25
Всего: 62



Т.е насколько я понял if (myint & AB_SEL),выполниться в том случае,если первый бит AB_SEL еденица,а if (myint == AB_SEL) когда когда равно myint значению AB_SEL?,


--------------------
Верю в смерть после жизни, в любовь после секса ,в крем после бритья smile        
PM ICQ   Вверх
S.A.P.
Дата 5.2.2005, 22:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2664
Регистрация: 11.6.2004

Репутация: 2
Всего: 71



Цитата(Coocky @ 5.2.2005, 22:42)
Т.е насколько я понял if (myint & AB_SEL),выполниться в том случае,если первый бит AB_SEL еденица
нет выпонится в том случае, если результат конъюнкции не нулевой. Смотри мой пример.
110110100101 &
001001000010
--------------------
000000000000

результат будет 0

а, например так
100101101011
110110010010
--------------------
100100000010

а результат операции == всегда либо 1 либо 0.




PM MAIL   Вверх
Coocky
Дата 5.2.2005, 22:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GUI гуру
****


Профиль
Группа: Участник Клуба
Сообщений: 2879
Регистрация: 16.2.2004
Где: Украина. Запорожь е

Репутация: 25
Всего: 62



Короче сравнивается занчение myint текущее со значением AB_SEL? smile


--------------------
Верю в смерть после жизни, в любовь после секса ,в крем после бритья smile        
PM ICQ   Вверх
S.A.P.
Дата 5.2.2005, 22:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2664
Регистрация: 11.6.2004

Репутация: 2
Всего: 71



Цитата(Coocky @ 5.2.2005, 22:50)
Короче сравнивается занчение myint текущее со значением AB_SEL?
а я от куда знаю? smile

PM MAIL   Вверх
Coocky
Дата 5.2.2005, 22:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GUI гуру
****


Профиль
Группа: Участник Клуба
Сообщений: 2879
Регистрация: 16.2.2004
Где: Украина. Запорожь е

Репутация: 25
Всего: 62



smile
дык окуда берется
100101101011
110110010010
это ж два числа?


--------------------
Верю в смерть после жизни, в любовь после секса ,в крем после бритья smile        
PM ICQ   Вверх
Coocky
Дата 6.2.2005, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GUI гуру
****


Профиль
Группа: Участник Клуба
Сообщений: 2879
Регистрация: 16.2.2004
Где: Украина. Запорожь е

Репутация: 25
Всего: 62



Короче понятно..Просто происходит побитовое и,между значением AB_SEL и myint.От результата выполняется if.
вопрос номер два.В чем прелесть таких операций и их рациональность Если можно на небольшом примере из двух чисел...


--------------------
Верю в смерть после жизни, в любовь после секса ,в крем после бритья smile        
PM ICQ   Вверх
S.A.P.
Дата 6.2.2005, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2664
Регистрация: 11.6.2004

Репутация: 2
Всего: 71



Например узнать значение какого - нибудь бита
Код

int a = 20 // 10100
if (a&1<<n) //n - номер бита. Если результат операции не 0, значит в том бите 1




PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0586 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.