Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.06.27;
Скачать: 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 вся ветка

Текущий архив: 2004.06.27;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.058 c
3-1086077795
Kirill
2004-06-01 12:16
2004.06.27
Несколько полей для связи


1-1087228199
tower
2004-06-14 19:49
2004.06.27
Аналог char* в c++ для паскаля


1-1086853354
EXE
2004-06-10 11:42
2004.06.27
Мастера - подскажите направление работы с компонентами в режите


1-1086935811
DAnton
2004-06-11 10:36
2004.06.27
Как лучше спрятать програму из виду?


1-1087305759
Maxim
2004-06-15 17:22
2004.06.27
DLL