Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.06.2012, 14:59   #1
Christor
Пользователь
 
Регистрация: 11.05.2012
Сообщений: 15
Вопрос Не пойму, что присваевается переменной

Здравствуйте. В одном коде увидел такую строчку.
Код:
maze[x,y]:= maze[x,y] and not 48;
Там есть и аналогичные этой.

maze- двумерный массив типа integer;

"maze[x,y]:= maze[x,y]" с этим ясно. "and not 48" Вот такое не встречал. Преподы про это тоже ничего не говорили. Можете объяснить? Могу показать код целиком. Разобраться в нём толком не могу(
Christor вне форума Ответить с цитированием
Старый 10.06.2012, 15:02   #2
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

это битовая маска. 48 = 30h, т.е. установлены биты 4 и 5. not делает из этого маску, в котороый все биты установлены, кроме 4 и 5. При наложении такой маски через and эти биты сбрасываются в 0. остальные не изменяются.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 10.06.2012, 15:09   #3
Christor
Пользователь
 
Регистрация: 11.05.2012
Сообщений: 15
По умолчанию

Хм... не слышал о таком. Спасибо. Буду искать в инете доп. литературу.
Только... подскажите
Код:
if ((maze[x,y] and 1) <> 0) then...
тоже связано с битовыми операциями?
Christor вне форума Ответить с цитированием
Старый 10.06.2012, 15:10   #4
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

да, это условие будет True, если младший бит (бит с индексом 0) в maze[x,y] установлен.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
не пойму что за ошибка PinkPink Qt и кроссплатформенное программирование С/С++ 0 30.03.2012 11:27
Что-то не так в программе...не пойму что Karina_Vamp Помощь студентам 5 24.12.2010 21:06
не пойму что не так делаю Crudelis Общие вопросы C/C++ 3 23.04.2010 11:09
Не пойму что не правельно ...(С++) exKenny Помощь студентам 38 06.03.2010 16:51
Что не так не пойму out of range alco84 Microsoft Office Excel 5 24.01.2010 20:19