if (Pointer) // Если указатель не нулевой, то...
Что_то_делаем (Pointer)
Приведение целого типа к типу булеан
Здравствуйте, ситуация такая: пишу компилятор (в учебных целях). Сталкнулся с проблемой преобразования числового типа к типу boolean, где false = 0, true <> 0. Скажем, в регистре eax у меня какое-то число, мне надо привести его к boolean, желательно без переходов. Возможно ли это?
А если хочеться, то можно привести к false = 0, true=FF
тип
MOV AX, число
NEG AX
SBB AX,AX
В результате будет 0 при входном значени AX=0 и FFFF при любом другом входном значении. Или если хочешь чтобы тип FALS=1 до добавь в конец
NEG AX,AX
Код:
Но true - это конктретное значение, равное (в зависимости от компилятора) 1 или -1. Посему следующий код неверный
Код:
if (Value == true) // Если Value не равно 1 (или -1), то будет ЛОЖЬ
El Scopiо, не понял тебя. Но и тебе спасибо.