Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.06.26;
Скачать: [xml.tar.bz2];

Вниз

Битовые флаги   Найти похожие ветки 

 
Sliski Slimak   (2003-06-14 01:12) [0]

Господа, как определить из суммы битовых флагов, какие флаги установлены?
Ну, например:
const
BF_1=2;
BF_2=4;
BF_3=8;
BF_4=16;
.....
..........
x:=BF_1 or BF_3;

а как теперь-то определить, какие флаги установлены?


 
Metal Knight   (2003-06-14 01:43) [1]

if (x AND BF_1) then ...


 
Sliski Slimak   (2003-06-14 11:40) [2]

Покорнейше благодарю!


 
Sliski Slimak   (2003-06-14 13:12) [3]

Но увы, вышеприведённый вариант НЕ работает.......
Может, кто-нибудь ещё подскажет?


 
panov   (2003-06-14 15:55) [4]

В форуме "Потрепаться" есть тема "Уроки Ю.Зотова"
Думаю, что надо бы с этого начать.

Правльно так:
if (x AND BF_1)= BF_1 then ...


 
Юрий Зотов   (2003-06-14 17:31) [5]

> Sliski Slimak

Советую заглянуть сюда:
http://www.baseprogram.narod.ru/index.htm


 
HolyGlory   (2003-06-14 17:43) [6]


> В форуме "Потрепаться" есть тема "Уроки Ю.Зотова"
> Думаю, что надо бы с этого начать.
>
> Правльно так:
> if (x AND BF_1)= BF_1 then ...

Правильней так: if (x and BF_1)<>0 then...
(В первом случае будет cmp eax, BF_1 во втором or eax,eax (или test eax,eax)). Последняя занимет меньше места и декодируется за один такт :)



 
Юрий Зотов   (2003-06-14 18:58) [7]

Еще вариант:
if Boolean(x and BF_1) then...



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.06.26;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.033 c
6-84492
0$a__
2003-04-22 02:19
2003.06.26
CGI и дельфи


3-83959
kanat
2003-05-29 13:15
2003.06.26
Dbase как работать с NTX


3-84039
OxOTHuK
2003-05-31 16:39
2003.06.26
Печать из DbGrid


1-84379
Veles
2003-06-09 10:57
2003.06.26
Изображение из Delphi в Excel


3-83994
DNK
2003-05-30 13:18
2003.06.26
Параметры с одинаковыми именами (ADO)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский