Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

биты... [D6, Win2k, WinXP]


SeF ©   (2003-01-13 03:06:00) 

поиню выл такой вопрос на форуме, но сейчас понадобилось а не нашел. так вот вопрос: как узнать значение бита (true/false)?


SeF   (2003-01-13 10:16:00) [1]

Биг Сенк To MBo © (13.01.03 10:15)


MBo   (2003-01-13 10:15:00) [2]

установить
(1 shl i) OR j
сбросить
(not (1 shl i)) AND j


SeF   (2003-01-13 10:12:00) [3]

большое спасибо!!! > MBo © (13.01.03 07:41)
а каким образом установить значение бита?


MBo   (2003-01-13 07:41:00) [4]

>необходимо перебрать max(integer) вариантов а не 32. я не прав?
Нет.

var j:integer;

for i:=0 to 31 do
...(1 shl i) and j)...


SeF   (2003-01-13 07:14:00) [5]


> PVOzerski © (13.01.03 03:34)

переменная типа integer. но как я понимаю необходимо перебрать max(integer) вариантов а не 32. я не прав?


Можно   (2003-01-13 04:22:00) [6]

и так:

MyType = (Bit0,Bit1,Bit2,Bit3,Bit4,Bit5,Bit6,Bit7);

if Bit3 in X then ...


PVOzerski   (2003-01-13 03:34:00) [7]

По-моему, получится так:
Пусть X - исследуемая переменная.
Берем число Y, в котором нули все биты, кроме находящегося в интересующей нас позиции.

Result:=(X and Y)<>0;


Наверх

Титульная страница Поиск, карта сайта Написать письмо