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

Операторы, которые используются для выполнения манипуляций на битовом уровне. Языки программирования ориентированы на байты, тогда как оборудование ориентировано на биты. Таким образом, способность работать на уровне битов может быть очень важной в программировании, особенно когда программа напрямую взаимодействует с оборудованием..
1 ответ

Оператор сравнения битхаков (меньше)

Мне известно, что большинство арифметических операций могут быть выполнены только с использованием побитовых операторов ( Добавить два целых числа, используя только побитовые операторы?, Умножение двух целых чисел, используя побитовые операторы, и т…
18 ноя '15 в 12:38
1 ответ

Как разрешить одно разрешение, а не другое, используя побитовую систему?

Я очень заинтересован в написании класса, который поможет мне с разными разрешениями для разных пользователей (например, класс ACL.) Я искал отличный метод, и битовая операция выпала! Я нашел хорошую статью Как написать систему разрешений, использую…
6 ответов

Побитовое смещение (<<) странное поведение

gcc побитовое смещение (&lt;&lt;) странное поведение. Вот мой код: #include &lt;stdio.h&gt; #include &lt;string.h&gt; void foo(int n){ printf("1&lt;&lt;32:%d\n", 1&lt;&lt;32); printf("1&lt;&lt;(32-n):%d\n", 1&lt;&lt;(32-n)); } int main(){ foo(0); } …
3 ответа

Приоритет оператора C++ для побитового И и логического ИЛИ

На этой странице я узнал, что приоритет оператора Bitwise AND выше, чем Logical OR. Однако следующая программа дает неожиданный вывод. #include&lt;iostream&gt; using namespace std; int main() { int a = 1; int b = 2; int c = 4; if ( a++ || b++ &amp; …
5 ответов

Замыкающие нули - C

Мне нужна программа, которая возвращает число конечных нулей в двоичном представлении числа. Я нашел в Интернете функцию, написанную на C, но я не понимаю, как она работает Это функция: unsigned tzr(unsigned x) { unsigned n; /* number of bits */ n =…
23 июл '17 в 22:21
1 ответ

MySQL не использует индексы при запросе к полю BIT с использованием побитовых функций

У меня есть поле типа BIT в моей таблице MySQL. Я хочу сохранить статус записи, используя битовое значение, например: 1 = status1 2 = status2 4 = status3 8 = status4 Каждая запись может иметь много статусов одновременно. Для status1 и status3 значен…
24 авг '10 в 19:56
3 ответа

Почему битовый сдвиг влево возвращает разные результаты в Python и Java?

Я пытаюсь перенести некоторые функции из приложения Java в Python. В Java System.out.println(155 &lt;&lt; 24); Возвращает: -1694498816 В Python: print(155 &lt;&lt; 24) Возвращает 2600468480 Многие другие побитовые операции работали одинаково на обои…
23 фев '16 в 13:07
2 ответа

Разбейте массив на две подпоследовательности так, чтобы разница между значением xor подпоследовательности была минимальной

Я делаю некоторые вопросы о побитовых операциях. Поэтому я думаю, что это самый быстрый способ найти разницу между значением xor (две непересекающиеся подпоследовательности, которые охватывают весь массив). Я не мог найти быстрый способ решить эту п…
02 сен '17 в 04:11
2 ответа

Полезен ли индекс mysql для столбца 'state', когда он выполняет только битовые операции над столбцом?

У меня есть много сущностей домена (хранятся в MySQL), которые подвергаются множеству различных операций. Каждая операция выполняется из другой программы. Мне нужно сохранить (flow)-state для этих объектов, которые я реализовал как длинное поле "flo…
10 июн '10 в 19:04
1 ответ

Генерация квадратурного сигнала с битовой манипуляцией

Я пытаюсь генерировать квадратурный сигнал, но с минимально возможной операцией. Для отправки сигнала я использую контакты B8 и B9 STM32 и GPIO. пара выводов 8 и 9 имеет четыре возможных варианта по часовой стрелке: 0/0 1/0 1/1 и 0/1 и против часово…
30 авг '17 в 15:39
1 ответ

Как создать маску машинно-независимым способом?

Поэтому я практикую некоторые вопросы по собеседованию по программированию и наткнулся на этот образец PDF-файла, который рекомендует "Понять, как использовать маски и создавать их независимо от машины". Но это не говорит о разнице между машинно-зав…
2 ответа

Почему:Math.floor(2e+21)!= ~~(2e+21)

Я не эксперт в побитовых операторах, но я часто вижу шаблон, который используется программистами из 256 тыс. Демонстраций на соревнованиях. Вместо того, чтобы использовать Math.floor() функция, двойной побитовый оператор НЕ используется ~~ (может бы…
27 окт '14 в 20:08
1 ответ

Реализация умножения Карацубы в Java BigDecimal

Недавно я пытался реализовать умножение Карацубы для больших чисел. Затем я попытался сравнить мою реализацию с реализацией Java BigInteger. Я не мог следовать этой строке кода: // result = p1 * 2^(32*2*half) + (p3 - p1 - p2) * 2^(32*half) + p2 BigI…
1 ответ

Есть ли неразветвляющееся побитовое решение для определения числа "нечетное число из 3", если два равны, иначе первое?

int64_t foo(int64_t a, int64_t b, int64_t c){ return a == b ? c : a == c ? b : a; } Есть ли какой-нибудь неразветвленный битовый хак, который реализует функцию выше?
02 апр '16 в 20:46
3 ответа

Как использовать битовые операции в GLSL 1.3 с OpenGL 2.1

Я пытаюсь написать шейдер, который использует много битовых операций. На самом деле они поддерживаются начиная с glsl 1.30, но я использую только OpenGL 2.1. Есть ли способ использовать битовые операции с моей версией OpenGL?
09 июл '11 в 11:45
2 ответа

Разделить байт в списке из n бит

У меня есть байт, и я должен разделить его на блоки n биты и поместить эти последовательности в список. Примеры: если n=2: byte b = {171}_10 = {1010 1011}_2 --&gt; list = {10, 10, 10, 11} если n=2: byte b = {108}_10 = {0110 1100}_2 --&gt; list = {01…
29 фев '16 в 21:38
3 ответа

Побитовый оператор & в цепочечном сравнении

var = 86 print((var &lt; 90) &amp; (var &gt;= 80)) печать True, Но зачем все это печатать False? print(var &lt; 90 &amp; var &gt;= 80) print(var &lt; 90 &amp; (var &gt;= 80)) print((var &lt; 90) &amp; var &gt;= 80) print(var &lt; 90 &amp; True)
30 дек '16 в 05:17
2 ответа

C - Печать двоичного файла для данного символа

Я изучаю C, и часть моих упражнений связана с побитовыми операторами. Я пытаюсь создать функцию, которая печатает дополнение 2 для ввода символов. Вот что у меня так далеко: #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; void find_binary(char ch…
09 сен '14 в 21:57
1 ответ

Битовые операторы не работают должным образом в Java

Я попытался запустить приведенную ниже программу, но она не работает должным образом. Пожалуйста, помогите мне. package javaapplication2; public class Fun { public static void main(String args[]) { int var1 = 3; int var2 = 2; int var3 = var1 &amp; v…
08 окт '15 в 14:31
3 ответа

Подсчет запусков / наборов 1 в двоичном числе

Я хочу посчитать серии 1 в двоичной последовательности с помощью побитовых операторов. Я искал похожие темы, но нашел разные ответы от того, что я ищу. Вес Хэмминга также отличается, так как он учитывает количество единиц в двоичном коде. Например, …
06 окт '15 в 17:51