Сортировка по двум столбцам

Вурдалак

Продвинутый новичок
как будто не понимаешь что на каждый бит проверяется логическое "и" и в случае истина/ложно ответ будет либо 1 либо 0
Ещё раз: использование термина «логический» в отношении оператора в данном случае некорректно. Не нужно тащить значения слов из одного контекста в другой, если ты не ставишь своей целью устроить демагогию.
 

Фанат

oncle terrible
Команда форума
Рассуждая логически, для пагинации (которая нужна автору), ни битовые, ни логические операторы даром сто лет не сдались.
Но вы можете продолжать спорить.
 

WMix

герр M:)ller
Партнер клуба
Ещё раз: использование термина «логический» в отношении оператора в данном случае некорректно.
давай без демагогии, назови случай когда интересует математическая величина, а не ответ ноль или больше нуля.
 

AnrDaemon

Продвинутый новичок
При чём тут демагогия, если результат операции принципиально различен?
 

WMix

герр M:)ller
Партнер клуба
результат операции принципиально различен
я это знаю, без пены и повторений выше сказанного, когда тебя интересовало больше чем просто "результат > 0"
я соглашусь что результат это число, а не boolean, (формулировка некорректна) но хочу не забивать голову тонкостями этого вычисления тк все что интересует в этой операции это "результат больше или равен нулю", что в общем и пишут на всех известных мне языках
if( a&b ) без кастинга и сравнения
 

Вурдалак

Продвинутый новичок
я соглашусь что результат это число, а не boolean, (формулировка некорректна) но хочу не забивать голову тонкостями этого вычисления тк все что интересует в этой операции это "результат больше или равен нулю", что в общем и пишут на всех известных мне языках
if( a&b ) без кастинга и сравнения
Я с большим трудом пытаюсь понять то, что ты хочешь сказать. Но складывается впечатление, будто ты наивно полагаешь, что if ($a & $b) имеет ровно такое же поведение, что и if ($a && $b). Но это, конечно, не так: $a = 1, $b = 2, 1 & 2 = 0 vs $a && $b, 1 && 2 = true.
 

WMix

герр M:)ller
Партнер клуба
блин, вот можешь поставить в тупик, $a & $b это как пересечение на бинарном уровне а $a && $b это голая коньюнкция
 

AnrDaemon

Продвинутый новичок
Без как. Всё именно так и есть. & - пересечение на бинарном уровне, && - на уровне булевого значения переменной.
Если ты сделаешь (bool)$a & (bool)$b, получишь тот же результат, что и при $a && $b.
 

WMix

герр M:)ller
Партнер клуба
немного не по теме но в продолжение. помню в CV был такой "обьект" типа картинка (грубо поинтер на 2x массив пикселов) и одна из основных операций перегруженный оператор вычитание. те для того чтобы найти изменения 2 кадров фильма, нужно было вычесть одну картинку из другой. все что 0, там изменений нет, все что не ноль это движение.

я к чему, вроде в записе image2 - image1 таится огромный смысл, но попикселно идет обычное вычитание или точнее image2[x][y] & !(image1[x][y]),
вроде типы не скаляры, и ответ - матрица,
а мне как человеку четко понимается смысл, что грубо я вычитаю одну картинку из другой
 

fixxxer

К.О.
Партнер клуба
А в с++ можно написать cout << value, и никакой это не побитовый сдвиг вовсе, но никого не смущает, всем понятно, типа стрелочки.
И чо? :)
 

WMix

герр M:)ller
Партнер клуба
ну в общем & это и есть коньюнкция, на ней все и базируется и сумма, и вычитание, и логическое и, и побитовые операции. это команда процессора, других нет
0001&0010 = 0000 это уже прелести многоразрядности, не баг а фича, соблюдайте апи когда хотите получить правильный ответ
наивно полагаешь
если работать только с буленами, то это работает так как ожидается if(true&true)
a && b это искуственный оператор if((bool)a){ if((bool)b) return true; } return false;
да && в рамках языка удобнее
 

Вурдалак

Продвинутый новичок
Правильно, абстракции всякие понапридумывали, классы, функции. JMP надо юзать. Это команда процессора. Других нет.
 
Сверху