Хочешь чуда? Будь чудом!
Дан булевый вектор, как массив размерности n.
Насколько я представляю - как набор из нулей и единиц.
Нужно определить для них операции (сначала пишу что нужно и в ** то, как я это понимаю):
- конъюнкция *логическое "и", проводить поэлементно*
- дизъюнкция *логическое "или"*
- отрицание *ну это понятно мне*
- подсчет нулей и единиц - тоже нет вопросов.
- присваивания - нет вопросов.
- сравнения.
Из них я легко представляю себе реализацию == и !=
Но совершенно не представляю что делать с <,>,<=,>=
как можно сравнивать булевые векторы и можно ли это делать вообще?
просто хочу узнать мнение людей.
Насколько я представляю - как набор из нулей и единиц.
Нужно определить для них операции (сначала пишу что нужно и в ** то, как я это понимаю):
- конъюнкция *логическое "и", проводить поэлементно*
- дизъюнкция *логическое "или"*
- отрицание *ну это понятно мне*
- подсчет нулей и единиц - тоже нет вопросов.
- присваивания - нет вопросов.
- сравнения.
Из них я легко представляю себе реализацию == и !=
Но совершенно не представляю что делать с <,>,<=,>=
как можно сравнивать булевые векторы и можно ли это делать вообще?
просто хочу узнать мнение людей.
...размерности n.
Не размерности, а размера (или длины). Размерность массива - это кол-во индексов требуемых для обращения к элементу. В данном случае он один. Массив размерностью n (или n-мерный массив) выглядит так: A[i_1][i_2]...[i_n].
...что делать с <,>,<=,>=
Например можно сравнивать два вектора поразрядно. Т.е если при проходе по массивам начиная со старшего разряда найдётся i_0 такой что A[i_0] < B[i_0] то A < B. Иначе A == B.
виноват, согласен.
Например можно сравнивать два вектора поразрядно. Т.е если найдётся индекс i_0 такой что A[i_0] < B[i_0] то A < B. Иначе A == B.
угу, спасибо
Чуть подправил своё предыдущее сообщение.