Thursday, June 7th, 2007 04:14 pm
Когда я вижу код типа:

while (N > 24) {
N -= 24;
}

мне в голову лезут нехорошие мысли о лицензировании программистов...
Friday, June 8th, 2007 12:13 am (UTC)
А мне при виде такого кода кроме мата нечего сказать
Friday, June 8th, 2007 12:24 am (UTC)
А что он этим пытался получить? Остаток от денления в столбик?

PS Лиценции надо -- на отстрел.
Friday, June 8th, 2007 12:27 am (UTC)
Lol
Friday, June 8th, 2007 05:24 am (UTC)
Not for negative N
Friday, June 8th, 2007 08:37 am (UTC)
Нeт, этo не
N %= 24
Friday, June 8th, 2007 12:27 am (UTC)
Это N%24?
Friday, June 8th, 2007 08:45 am (UTC)
Комменты радуют не меньше самого кода :-) Это:

if (N > 24) N = (N-1) % 24 + 1;
Friday, June 8th, 2007 12:54 am (UTC)
Это, к сожалению, не лечится.
Friday, June 8th, 2007 06:41 am (UTC)
сам нашел алгоритм остатка, и довольно изящный
Friday, June 8th, 2007 08:01 am (UTC)
Отличный код, только 24 нужно в константу вынести ;)
Friday, June 8th, 2007 08:35 am (UTC)
Будете смеяться, но я писал критичный по скорости код для ARM9, и там операция целого деления чрезвычайно медленна. Tак что не удивлюсь, если при малых типичных N этот код окажется быстрее чем:

if (N > 0) N = (N-1)%24 + 1;
Friday, June 8th, 2007 05:21 pm (UTC)
Кады я пришёл в нонешнюю контору, то в одной из процедур Сикуэля обнаружил примерно такой код:
IF @a = 5
SET @a = 5

Хроническая экономия на зряплатах програмистов - довела вот до таких кусков...
А ты, лицензировать, отстреливать!!! Скупых начальников
Friday, June 8th, 2007 05:29 pm (UTC)
Дык - одно дело анекдоты, а другое своими глазами увидеть...
Приходи, я и тебе покажу...
Friday, June 8th, 2007 05:37 pm (UTC)
N = (N < 0) ? (N%24+24) : (N%24);
Пошел свой код заодно подправил - там выпадение за диапазон может быть только минимальное, насколько хватит сил мышку за пределы окна дернуть до ближайшего прерывания, но все-таки. Еще лицензии лишат чего доброго.