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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.03.2011, 00:05   #1
firephenix
Пользователь
 
Регистрация: 14.02.2011
Сообщений: 89
По умолчанию (i and 1) = 1-зачем?????

Зачем в программах используется if (i and 1) = 1 then.....
firephenix вне форума Ответить с цитированием
Старый 20.03.2011, 03:21   #2
unbanned
Форумчанин
 
Аватар для unbanned
 
Регистрация: 23.11.2010
Сообщений: 530
По умолчанию

эмм... а пример можно?
unbanned вне форума Ответить с цитированием
Старый 20.03.2011, 13:36   #3
kangreon
Форумчанин
 
Аватар для kangreon
 
Регистрация: 03.04.2009
Сообщений: 305
По умолчанию

Цитата:
And Выполняет математический 'и' двух целых чисел. Результат поразрядный 'и' этих двух чисел. Например:

10110001 And 01100110 = 00100000
http://www.delphisources.ru/pages/fa...s/And.php.html
kangreon вне форума Ответить с цитированием
Старый 20.03.2011, 13:39   #4
Selestis
Форумчанин
 
Аватар для Selestis
 
Регистрация: 21.01.2009
Сообщений: 719
По умолчанию

Например, быстрая проверка на четность...
Изобретатель велосипедов
Selestis вне форума Ответить с цитированием
Старый 20.03.2011, 22:57   #5
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

> проверка на четность...

нечетность
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 21.03.2011, 00:28   #6
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Цитата:
Сообщение от firephenix Посмотреть сообщение
Зачем в программах используется if (i and 1) = 1 then.....
хм...Такой код не будет работать ни на Паскале, ни на C++.
На Паскаль заругается на несоответствие типов, а C++ не знает слова and (хотя можно сделать макроподстановку, тогда узнает).
Но, ещё есть проблема в том, что если рассматривать код с позиции языка C++, то здесь (в посте автора темы) нет сравнения - там просто оператор присваивания, но в таком виде он не выполнится. Оператор сравнения выглядит так: ==

Также в C++ нет слова then
Вадим Мошев вне форума Ответить с цитированием
Старый 21.03.2011, 00:54   #7
firephenix
Пользователь
 
Регистрация: 14.02.2011
Сообщений: 89
По умолчанию

Нет, это не оператор присваивания. Язык паскаль.
firephenix вне форума Ответить с цитированием
Старый 21.03.2011, 06:18   #8
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от firephenix Посмотреть сообщение
Зачем в программах используется if (i and 1) = 1 then.....
В данном случае это проверка на чётность двух двоичных чисел.
например:

10110100
and
00000001
=
00000000

Или
10110101
and
00000001
=
00000001

В первом случае число чётное, во-втором не чётное.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
this - кто он и зачем? Kasper1 JavaScript, Ajax 10 05.03.2011 08:40
Как, и зачем жить? kolobok1000 Свободное общение 28 18.11.2009 20:57
Зачем живем? Simply-Art Свободное общение 6 16.10.2008 15:44
Зачем указателю тип? Scratch Общие вопросы C/C++ 5 30.09.2008 11:48