![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
биты... [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;