Публикации по теме 'bit-manipulation'


Ваш путеводитель по битовой манипуляции
Мне кажется, это может показаться легким, но может оказаться очень сложным. Моя самая большая проблема с битовыми манипуляциями заключается в том, что очень крошечная ошибка может привести к катастрофической ошибке в ожидаемом решении. Битовая манипуляция - это процесс применения логических операций к последовательности битов для достижения требуемого результата. Прежде всего, нам нужно знать об основных операторах, которые у нас есть… (а) & (и) (б) | (или) (c) ^..

Вопросы по теме 'bit-manipulation'

Битовые операторы для добавления двух беззнаковых символов в С++
Если у меня есть две вещи, которые являются шестнадцатеричными, могу ли я кто-нибудь добавить их двоичные файлы вместе, чтобы получить значение? В С++, скажем, у меня есть unsigned char t = 0xc2; // 11000010 unsigned char q = 0xa3; //...
4328 просмотров
schedule 06.10.2022

Объяснение алгоритма установки, очистки и проверки одного бита
Эй, в книге Programming Pearls есть исходный код для установки, очистки и тестирования бита данного индекса в массиве целых чисел, который на самом деле является представлением множества. Код следующий: #include<stdio.h> #define...
2743 просмотров
schedule 18.06.2023

Как мне выполнить тест на равенство для 80-битной плавающей запятой IEEE?
относится к: сравнение чисел с плавающей запятой и двойных чисел IEEE на равенство Следует ли сравнивать числа с плавающей запятой на равенство с относительной ошибкой Самый эффективный способ для плавающего и двойного сравнения...
386 просмотров
schedule 04.10.2022

Использование побитовых операторов для флагов
у меня четыре флага Current = 0x1 Past = 0x2 Future = 0x4 All = 0x7 Скажем, я получаю два флага «Прошлое» и «Будущее» ( setFlags(PAST | FUTURE) ). Как узнать, есть ли в нем Past ? Точно так же, как я могу сказать, что Current в нем...
31134 просмотров
schedule 20.09.2023

Может ли кто-нибудь объяснить этот код манипулирования битами?
У меня есть элемент управления деревом с флажками рядом с каждым узлом, который позволяет проверять состояния узлов, не проверять и проверять их посередине. При щелчке узла родительский и дочерний элементы обновляются. Код, который я нашел,...
679 просмотров

Самый быстрый способ перечислить включенные биты целого числа
Каков самый быстрый способ перечислить целое число и вернуть показатель степени каждого включенного бита? Видели пример с использованием ‹‹ и другой с использованием Math.Pow. Интересно, есть ли что-нибудь еще, что действительно быстро. Спасибо.
5162 просмотров

ИЛИ байтов в C # дает int
У меня есть этот код. byte dup = 0; Encoding.ASCII.GetString(new byte[] { (0x80 | dup) }); Когда я пытаюсь скомпилировать, я получаю: Невозможно неявно преобразовать тип int в byte. Существует явное преобразование (вам не хватает...
2726 просмотров
schedule 04.07.2022

Битовый сдвиг влево
Допустим, я хочу дважды сдвинуть бит i влево и сохранить значение в f . f = i << 2; Это правильно? Как именно это сделать в C/C++?
15672 просмотров
schedule 12.11.2023

Как я могу установить нижние 3 байта 4-байтовой длины, оставив верхний байт нетронутым?
Соответствующий код: typedef unsigned long int chunk_head; typedef struct malloc_chunk { // Contains the size of the data in the chunk and the flag byte. chunk_head head; // Deliberately left unsized to allow overflow. //...
653 просмотров
schedule 28.03.2023

Побитовое или, кажется, имеет неявное приведение к длинному. Можно ли этого избежать?
Я программист Java, пытающийся перейти на C#, и эта ошибка меня немного озадачила: int a = 1; a = 0x08000000 | a; a = 0x80000000 | a; Первая строка компилируется нормально. Второй нет. Кажется, он распознал, что есть константа со знаковым...
3276 просмотров

64-битное без знака в 32-битное со знаком
Мне нужно преобразовать данные длинного типа данных Java (64-разрядные) в тип данных устаревшего приложения С++ unsigned int (32-разрядный). Не беспокойтесь о потере данных, так как данные представляют собой временную метку Linux, и для достижения...
1758 просмотров

Как форматируется информация об оси джойстика с USB-джойстика?
На самом деле у меня есть довольно маленький вопрос, но мне было САМОЕ СЛОЖНОЕ время, чтобы найти информацию об этом. Для приложения, для которого я программирую, будет 3-осевой джойстик, подключенный через USB к компьютеру с Windows XP, и он...
1042 просмотров
schedule 04.11.2023

Эффективный битовый сдвиг массива int?
Чтобы оказаться на одной странице, предположим, что sizeof(int)=4 и sizeof(long)=8. Учитывая массив целых чисел, какой был бы эффективный метод логического битового сдвига массива влево или вправо? Я рассматриваю вспомогательную переменную,...
9798 просмотров
schedule 05.08.2023

Количество бит для представления числа
Я пытаюсь написать функцию для возврата количества бит положительного целого числа меньше, чем предел Javascript (2 ^ 53) -1. Однако у меня проблемы с точностью, и я хочу избежать больших целочисленных библиотек. Способ 1: function...
9853 просмотров
schedule 22.01.2023

очистить все, кроме двух самых значащих битов в слове
Учитывая 32-битный int, который, как известно, имеет по крайней мере 2 бита, есть ли способ эффективно очистить все, кроме 2 наиболее значимых битов набора? то есть я хочу убедиться, что на выходе установлено ровно 2 бита. Что, если на входе...
2012 просмотров

Должен ли я смещать биты, чтобы разделить на 2 в Java?
Возможные дубликаты: Сдвиг битов быстрее, чем умножение и деление в Java? .NET? Быстрый вопрос по оптимизации Java Много лет назад в колледже я узнал, что сдвиг битов вправо на единицу выполняет то же самое, что и деление на два, но...
33313 просмотров

Бит вертел в C: как преобразовать из 2 ^ N в N?
Что такое хорошая подпрограмма для преобразования числа в диапазоне [2 ^ N, 2 ^ (N-1) -1] в N? Некоторые примеры: f(1) -> 0 f([2-3]) -> 1 f([4-7]) -> 2 f([8-15]) -> 3 Вот одна реализация: uint f(uint num) { for (uint shifts...
268 просмотров
schedule 19.10.2022

Биты заполнения в беззнаковых целых числах и побитовые операции в C89
У меня много кода, который выполняет побитовые операции с целыми числами без знака. Я написал свой код с предположением, что эти операции выполнялись с целыми числами фиксированной ширины без каких-либо битов заполнения. Например, массив 32-битных...
6071 просмотров

Маркировка/кодирование указателей
Мне нужен способ пометить указатель либо как часть набора x, либо как часть набора y (т. е. тег имеет только 2 «состояния»), я имею в виду, что можно предположить, что untagged = x и tagged = y. В настоящее время я рассматриваю использование...
1524 просмотров
schedule 13.02.2023

Получение количества ведущих 1 бит
Учитывая беззнаковое число, каков хороший (желательно быстрый) способ получить количество начальных 1-битов? Мне это нужно, чтобы вычислить номер CIDR из сетевой маски IPv4 с разделением точек на четыре точки. Примечание. Я видел...
2538 просмотров
schedule 03.05.2022