Вниз
Скачать: 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.021 c
10-1013876230
nikols
2002-02-22 12:16
2004.06.27
Name service в VisiBroker?


14-1086639742
Undert
2004-06-08 00:22
2004.06.27
Соединение с сервером www.delphimaster.ru неудачно


1-1087215804
Артем
2004-06-14 16:23
2004.06.27
Проблемы с нодом в TreeView


3-1085973280
BezdAlex
2004-05-31 07:14
2004.06.27
Использование Access в DELPHI


1-1087124582
JaDS
2004-06-13 15:03
2004.06.27
Поле=@метод?




   Наверх