Публикации по теме '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 просмотров
schedule
14.09.2022
Самый быстрый способ перечислить включенные биты целого числа
Каков самый быстрый способ перечислить целое число и вернуть показатель степени каждого включенного бита? Видели пример с использованием ‹‹ и другой с использованием Math.Pow. Интересно, есть ли что-нибудь еще, что действительно быстро.
Спасибо.
5162 просмотров
schedule
27.07.2023
ИЛИ байтов в 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 просмотров
schedule
10.02.2023
64-битное без знака в 32-битное со знаком
Мне нужно преобразовать данные длинного типа данных Java (64-разрядные) в тип данных устаревшего приложения С++ unsigned int (32-разрядный).
Не беспокойтесь о потере данных, так как данные представляют собой временную метку Linux, и для достижения...
1758 просмотров
schedule
29.03.2024
Как форматируется информация об оси джойстика с 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 просмотров
schedule
26.01.2023
Должен ли я смещать биты, чтобы разделить на 2 в Java?
Возможные дубликаты: Сдвиг битов быстрее, чем умножение и деление в Java? .NET? Быстрый вопрос по оптимизации Java
Много лет назад в колледже я узнал, что сдвиг битов вправо на единицу выполняет то же самое, что и деление на два, но...
33313 просмотров
schedule
07.08.2023
Бит вертел в 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 просмотров
schedule
24.06.2023
Маркировка/кодирование указателей
Мне нужен способ пометить указатель либо как часть набора x, либо как часть набора y (т. е. тег имеет только 2 «состояния»), я имею в виду, что можно предположить, что untagged = x и tagged = y.
В настоящее время я рассматриваю использование...
1524 просмотров
schedule
13.02.2023
Получение количества ведущих 1 бит
Учитывая беззнаковое число, каков хороший (желательно быстрый) способ получить количество начальных 1-битов?
Мне это нужно, чтобы вычислить номер CIDR из сетевой маски IPv4 с разделением точек на четыре точки.
Примечание. Я видел...
2538 просмотров
schedule
03.05.2022