Публикации по теме 'bit-manipulation'
Начало работы с битами
Все мы знаем, как работает двусвязный список и что он неэффективно использует память. Но что, если я скажу, что двусвязный список можно реализовать с той же пространственной сложностью, что и односвязный список, с помощью какой-нибудь простой побитовой операции? Да, вы не ослышались! Битовые манипуляции — это то, что пригодится, когда нам нужно что-то оптимизировать. Здесь вместо сохранения исходного адреса памяти мы сохраняем побитовое XOR предыдущего и следующего узла, тем самым..
Вопросы по теме 'bit-manipulation'
Помогите мне улучшить этот код обработки битового буфера C++
Я пишу функцию для обработки входящего 32-битного буфера, представляющую изменяющиеся данные при сравнении с соответствующим сохраненным 32-битным буфером. Позиция изменяющегося бита представляет собой число (т. е. значение 8 означает бит 3), которое...
2224 просмотров
schedule
11.05.2024
Реализация хака с битовой заменой в Python
Учитывая 8-битный байт b , следующая формула возвращает биты b «переставленными местами» (0 и 7 меняются местами, 1 и 6 меняются местами и т. д.):
(b * 0x0202020202 & 0x010884422010) % 1023
Когда у меня есть функция, реализующая этот...
2227 просмотров
schedule
29.04.2024
Найдите старший бит или логарифм по основанию 2 (пол) положительного целого числа с помощью прямой манипуляции с битами в C
Вот что мне нужно сделать:
int lg(int v)
{
int r = 0;
while (v >>= 1) // unroll for more speed...
{
r++;
}
}
Я нашел вышеуказанное решение по адресу:...
909 просмотров
schedule
30.03.2024
Сдвиг отрицательного значения BigInteger - Java
Я пытаюсь сдвинуть 7-байтовый массив вправо на 7 бит.
Для этого я использую метод shiftright BigInteger. Однако при сдвиге вправо для отрицательных BigInteger добавляется заполнение единицами или иногда удаляется ведущий бит.
Вот следующий...
415 просмотров
schedule
07.03.2024
Хранение данных в переменной с помощью манипуляций с битами
Я пытаюсь сохранить дату в переменной int без знака, мне нужно сохранить дату таким образом:
Биты с 11 по 0 для года (от 0 до 4095)
Биты с 15 по 12 для месяца (как если бы это были биты от 0 до 3, поэтому я могу хранить значения от 0 до 11)...
403 просмотров
schedule
20.05.2024
Случайные числа от 1 до 15
Я генерирую много случайных чисел, которые должны быть от 1 до 15 (включительно) в C ++. Конечно, я могу генерировать zillons std::uniform_int_distribution<std::mt19937::result_type> random(1, 15); , но это бесполезная трата, поскольку этот...
395 просмотров
schedule
21.04.2024