Тогда перед сдвигом накладывайте битовую маску с установленным нужным битом и сравнивайте с нулем. Например для байта:
...
a := b and 127;
if a = 0 then
что-то делаете;
else
делаете что-то другое;
end_if
b := shl(b, 1);
...
Тогда перед сдвигом накладывайте битовую маску с установленным нужным битом и сравнивайте с нулем. Например для байта:
...
a := b and 127;
if a = 0 then
что-то делаете;
else
делаете что-то другое;
end_if
b := shl(b, 1);
...
saii О! Спасибо!!!
Всем привет! подскажите, почему не работает?
var
test_pointer: POINTER TO BOOL;
word1: WORD := 1;
bool1: BOOL;
end_var
test_pointer := BITADR(word1.0);
bool1 := test_pointer^;
Смысл в том, что хочу одно словечко в модбасе сделать как маску дискретных настроек, и чтобы было красиво в коде, а не mb_settings.0
а в кодэсисе нет ни чего похожего на definne?
var
uno: pointer to bool := mb_settings.0;
end_var
if uno^ then (*что-нибудь*) else (*например*) end_if;
а вот эта штучка чудесная "^" шо делает ?
все это для того чтобы в коде было удобно смотреть на "setiings_1^" вместо "mb_settings.0".
Вот я и расстроен что с булевыми так не работает, а очень уж хочется. Отсюда собственно и вопрос - можно ли как-то сделать то что мне нужно
Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран