Описание тега binary-operators

Use this tag for questions that have to do with operators that are identified as binary operators, i.e. operators that work with the two operands.
1 ответ

Одинарный и двоичный минус в дереве разбора

Я создаю дерево разбора, которое будет содержать выражения, похожие на 3 - 4 * 8 или же 8 * -5 или же -(10 * 1) Мне нужен способ различать одинарный и двоичный минус. То, как сейчас работает моя грамматика, сначала достигается двоичный минус, но я п…
1 ответ

Перегрузка оператора C++: умножение определяемого пользователем типа на значения с плавающей запятой

Я пытаюсь реализовать операторы умножения (operator*) для 4 ситуаций. Представь, что у меня есть class rain, namespace manchester { namespace manchester_private_dont_use_this { template<typename T> class rain { public: rain(T initial_rain) : m…
02 сен '13 в 23:42
2 ответа

"недопустимые операнды в двоичные операнды" при сравнении двух объединений

Я пишу код для реализации связанного списка в C, который не зависит от типа. Это то, что я пытаюсь сделать. Создайте объединение, которое может хранить одно из следующих значений: int, char*, double, char. union element { int num; char* str; double …
1 ответ

Бинарный Python для унарной функции

Следуя этой теме об итерации последовательности операторов, я также хочу позаботиться об унарных операторах в той же последовательности. Я использовал лямбда-функцию, чтобы избавиться от второго аргумента, но есть ли специальные инструменты / библио…
16 дек '15 в 14:34
0 ответов

Если x и y являются (подписанными) целыми числами, то ~x+~y+1 == ~(x+y); всегда верно в C?

Я читаю "Компьютерные системы: взгляд программиста", а в главе 2 "Задача домашнего задания 2.81" представлено следующее задание: "2.81 ◆ Мы выполняем программы на компьютере, где значения типа int являются 32-битными. Они представлены в виде дополне…
26 мар '17 в 19:21
2 ответа

Генерирование двоичной последовательности

Мне нужно сгенерировать двоичную последовательность ключей, где каждый ключ имеет длину 'x', и каждый ключ генерируется определенной операцией над предыдущим ключом.Предполагая, что длина ключа равна 3, я должен быть в состоянии сгенерировать послед…
3 ответа

Почему Zend Framework 2 определяет целочисленные константы, такие как 1 2 4 8 16

Например: class Boolean extends AbstractFilter { const TYPE_BOOLEAN = 1; const TYPE_INTEGER = 2; const TYPE_FLOAT = 4; const TYPE_STRING = 8; const TYPE_ZERO_STRING = 16; const TYPE_EMPTY_ARRAY = 32; const TYPE_NULL = 64; const TYPE_PHP = 127; const…
1 ответ

(C++) Все мои перегруженные операторные функции возвращают ошибку, что они должны быть одинарными или двоичными, несмотря на то, что они друзья

Мои перегруженные классы дроби не будут компилироваться, говоря, что они должны быть унарными или бинарными. (C++) После поиска я обнаружил совет, что подружив их, удалит неявный первый член, но мои операторы были друзьями все это время и по-прежнем…
31 янв '17 в 23:53
2 ответа

Битовая манипуляция - понимание округления до нулевого смещения при умножении отрицательного на дробную

У меня есть метод манипуляции с битами, который умножает число на пять восьмых и, если есть остаток, округляется до 0. Метод работает, и я понимаю почти все. Однако, просматривая его, я понял, что не уверен, как anding 7 (00000111) объясняет ошибку …
09 фев '17 в 02:56
1 ответ

Как определить константы разрешений Unix (READ, WRITE, EXECUTE)

Я хочу определить эти константы и | их для различных операций, чтобы генерировать правильные разрешения. Определяя их как: public static final int READ = 4; public static final int WRITE = 2; public static final int EXECUTE = 1; дает мне правильный …
10 янв '14 в 18:43
0 ответов

Clion 2018.1. Ошибка EAP после подстановки макроса: двоичный оператор "<<" не может быть применен к выражениям типа "LoggerStream" и "const char [1]"

Все, я использую CLion, версия которой 2018.1. EAP. машина Mac OS X Yosemite, 10.10.5. мой код выглядит так TLOGERROR(""); но у меня эта ошибка ошибка после подстановки макроса: двоичный оператор "<<" не может быть применен к выражениям типа "Logger…
1 ответ

Оператор '<' не может быть применен к операндам типа 'long' и 'ulong'

Я использовал.NET Reflector 8 от redgate, и я использовал функцию, которая экспортирует.dll в C# файлы, и я сталкиваюсь с одной ошибочной ситуацией, которую я не знаю, как исправить эту ошибку. Состояние ошибки: Ошибка 36 Оператор '<' не может быть …
13 апр '14 в 12:31
2 ответа

Порядок вычисления оператора C++

Чтобы выяснить, что произошло с выражением "i++ + i++ + i++ + i++", я написал тестовую программу, как показано ниже. скомпилируйте его с g++ 4.6.3 и запустите эту программу под Ubuntu 12.04, результат: построить 3 построить 7 построить 12 построить …
30 июл '13 в 03:33
1 ответ

C: двоичный левый поворот

Я написал этот маленький код на C: int leftrotate (int x, int offset) { return ( x &lt;&lt; offset ) | ( x &gt;&gt; (32 - offset)); } Я ожидаю двоичного влево повернуть целое число, что означает, что я ожидаю переместить все биты от заданного смещен…
11 сен '13 в 18:05
1 ответ

Разбор со сканером findWithinHorizon проблема

В проекте, в котором я сейчас работаю, мне нужно проанализировать escape-последовательности с помощью класса Scanner (используя Java в Linux). Чтобы включить, например, две клавиши END на клавиатуре, я изначально написал следующий код: if(sc.findWit…
3 ответа

Верно ли мое понимание моноида?

Итак, сейчас я изучаю Хаскель, и я хотел бы подтвердить или опровергнуть мое понимание моноида. Из курса CIS194 я понял, что monoid - это, по сути, "API" для определения пользовательской двоичной операции над пользовательским набором. Затем я пошла,…
02 сен '15 в 17:17
8 ответов

Что такое операторы побитового сдвига (bit-shift) и как они работают?

Я пытался изучать C в свободное время, и другие языки (C#, Java и т. Д.) Имеют ту же концепцию (и часто те же операторы) ... Что мне интересно, так это то, что на уровне ядра происходит сдвиг битов (&lt;&lt;, &gt;&gt;, &gt;&gt;&gt;), какие проблемы …
2 ответа

Правильный способ перегрузки бинарных реляционных операторов в C++

Каков правильный / канонический способ перегрузки бинарных реляционных операторов в C++? Лучше использовать функции-члены, или friend бесплатные функции? Например: class X { public: ... // Use member function overloads bool operator==(const X&amp; r…
2 ответа

Ошибка компилятора при сравнении значений типа enum с соответствующими значениями?

class MyClass { enum MyEnum { case FirstCase case SecondCase(Int) case ThirdCase } var state:MyEnum! func myMethod () { if state! == MyEnum.FirstCase { // Do something } } } Я получаю ошибку компилятора, указывающую на if заявление:: Двоичный операт…
06 ноя '15 в 05:12
2 ответа

Быстрый бинарный оператор не может быть применен к операндам

Я прошу учиться быстро, и я купил приложение в магазине приложений под названием CODESWIFT за 5 долларов. Я подумал, что это будет хороший простой способ начать с языка, познакомиться с новыми способами именования вещей и так далее... В одном из упр…
23 апр '16 в 19:14