Публикации по теме '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 просмотров

Хранение данных в переменной с помощью манипуляций с битами
Я пытаюсь сохранить дату в переменной int без знака, мне нужно сохранить дату таким образом: Биты с 11 по 0 для года (от 0 до 4095) Биты с 15 по 12 для месяца (как если бы это были биты от 0 до 3, поэтому я могу хранить значения от 0 до 11)...
403 просмотров

Случайные числа от 1 до 15
Я генерирую много случайных чисел, которые должны быть от 1 до 15 (включительно) в C ++. Конечно, я могу генерировать zillons std::uniform_int_distribution<std::mt19937::result_type> random(1, 15); , но это бесполезная трата, поскольку этот...
395 просмотров
schedule 21.04.2024