Вниз
Скачать: CL | DM;

Помогите переделать if в формулу? Что-то торможу я   Найти похожие ветки 

← →
Алекс А   (2004-06-09 04:47) [0]

var
 isBool : Boolean;
begin
...
if isBool then func1(not odd(i)) else func1(odd(i));

Хочу преобразовать, чтобы был только вызов функции без ифа. Как это сделать двоичной арифметикой?


← →
Mim1 ©   (2004-06-09 05:33) [1]

func1(isBool xor odd(i)) ;


← →
TUser ©   (2004-06-09 06:20) [2]

или
func1(isBool xor (i shr 1 = 0)) ;


← →
MBo ©   (2004-06-09 06:25) [3]

(i shr 1 = 0)) ???
наверно, and имелось в виду?


← →
TUser ©   (2004-06-09 06:36) [4]

Почему? Если оно четное, то делим на 2, получим 0.


← →
MBo ©   (2004-06-09 06:38) [5]

>Если оно четное, то делим на 2, получим 0.
Не все согласятся ;)
mod 2 - действительно будет 0 для четных, а div 2 - скорее нет, чем да ;)


← →
TUser ©   (2004-06-09 06:42) [6]

Да, вообще согласен - лохонулся.


← →
Алекс А   (2004-06-09 07:03) [7]

Спасибо за помощь ! :)


← →
jack128 ©   (2004-06-09 08:20) [8]

А можно узнать - зачем это делать без if ? Если ты _сам_ не смог написать эту конструкцию - значит она для тя не естественна, значит в следующий раз просматривая этот код, ты будешь думать, а что же это все означает?? Спрашивается - оно тебе надо?


← →
Алекс А   (2004-06-10 01:30) [9]


> jack128 ©   (09.06.04 08:20) [8]

Я всё комментирую.
Переменные названы так, что и так всё понятно.
Если не умеешь водить машину, то надо научиться, а не пешком всю жизнь ходить.
С ифом будет в коде два вызова функции, а без ифа один. Код короче вдвое.



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.035 c
14-1086719021
Vasya.ru
2004-06-08 22:23
2004.06.27
хороший чистильщик реестра


3-1086154029
Izyum
2004-06-02 09:27
2004.06.27
ODBC & ZEOS - что быстрее


3-1086067028
mixam
2004-06-01 09:17
2004.06.27
эмуляция поля autoinc


1-1087283351
AlexXn
2004-06-15 11:09
2004.06.27
BP и runtime


3-1086009625
Jet
2004-05-31 17:20
2004.06.27
Проблемы с фильтром




   Наверх