|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Sergey Andrianov 2:5017/13.40 15 Jun 2001 08:46:20 To : Mike Roschin Subject : ? -------------------------------------------------------------------------------- Hедавно, Чет Июн 14 2001 в 11:56, некто Mike Roschin писал All по поводy ? : MR> Джентльмены, можно ли при помощи операций +, -, *, **(степень), /, MR> \(целочисленное) и %% (по модулю) определить входждение бита N в число MR> X, _иначе_ чем последовательным перебором битой от старшего к младшим? MR> do exp:=15 to 0 MR> mask:=2**exp MR> if X GE mask MR> ( MR> if exp=N return TRUE MR> X := X - mask MR> ) MR> Так работает. Hо криво это. Хочется короче и проще, но что-то никак не MR> придумывается. Подскажите, а? Либо я чего-то не понимаю, либо: if (X\(2**N) %% 2) = 1 return TRUE Hе прощаюсь Sergey --- --- Да будет свет ! --- * Origin: Sergiev Posad <Ferma> Sergey Andrianov (2:5017/13.40) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/32743b29cb7c.html, оценка из 5, голосов 10
|