Вопросы с тегом «bit-manipulation»

Манипуляция отдельными битами. Используемые операторы могут включать в себя побитовое И, ИЛИ, XOR, НЕ, сдвиг влево и сдвиг вправо.

12
Объясните использование битового вектора для определения того, являются ли все символы уникальными
Я не понимаю, как будет работать битовый вектор (не слишком знаком с битовыми векторами). Вот код, данный. Может кто-нибудь, пожалуйста, проведите меня через это? public static boolean isUniqueChars(String str) { int checker = 0; for (int i = 0; i < str.length(); ++i) { int val = str.charAt(i) - 'a'; …

8
'and' (логическое) против '&' (побитовое) - Почему разница в поведении со списками и массивами numpy?
Чем объясняется разница в поведении логических и побитовых операций над списками и массивами NumPy? Я не понимаю, как правильно использовать &vs andв Python, как показано в следующих примерах. mylist1 = [True, True, True, False, True] mylist2 = [False, True, False, True, False] >>> len(mylist1) == len(mylist2) True # ---- Example …

3
Как я могу удалить флаг в C?
Есть переменная, которая содержит некоторые флаги, и я хочу удалить один из них. Но я не знаю, как это удалить. Вот как я установил флаг. my.emask |= ENABLE_SHOOT;

10
В чем идея ^ = 32, которая преобразует строчные буквы в прописные и наоборот?
Я решал некоторые проблемы с codeforces. Обычно я сначала проверяю, является ли символ верхней или нижней английской буквой, затем вычитаю или добавляю, 32чтобы преобразовать его в соответствующую букву. Но я нашел, что кто-то ^= 32делает то же самое. Вот: char foo = 'a'; foo ^= 32; char bar = 'A'; …

9
Почему XOR является стандартным способом объединения хэшей?
Скажем, у вас есть два хэша H(A)иH(B) , и вы хотите , чтобы объединить их. Я читал, что хороший способ объединить два хеша для XORних, например XOR( H(A), H(B) ). Лучшее объяснение, которое я нашел, кратко затронуто здесь рекомендациям хэш-функции : XOR двух чисел с примерно случайным распределением приводит к …

3
Почему это случайное значение имеет распределение 25/75 вместо 50/50?
Изменить: Итак, в основном то, что я пытаюсь написать, - это 1-битный хеш double. Я хочу сопоставить doubleс trueили falseс вероятностью 50/50. Для этого я написал код, который выбирает некоторые случайные числа (просто в качестве примера я хочу использовать это для данных с регулярностью и все же получать результат 50/50) …


15
Что лучше использовать #define, enum или const?
В проекте C ++, над которым я работаю, у меня есть значение типа флага, которое может иметь четыре значения. Эти четыре флага можно комбинировать. Флаги описывают записи в базе данных и могут быть: новый рекорд удаленная запись измененная запись существующая запись Теперь для каждой записи я хочу сохранить этот атрибут, …

22
Позиция установленного младшего бита
Я ищу эффективный способ определения позиции младшего значащего бита, который установлен в целое число, например, для 0x0FF0 это будет 4. Тривиальная реализация такова: unsigned GetLowestBitPos(unsigned value) { assert(value != 0); // handled separately unsigned pos = 0; while (!(value & 1)) { value >>= 1; ++pos; } return pos; } …

27
Каков самый быстрый / самый эффективный способ найти самый высокий установленный бит (msb) в целом числе в C?
Если у меня есть целое число n, и я хочу знать позицию самого старшего бита (то есть, если младший бит находится справа, я хочу знать позицию самого дальнего левого бита, равного 1), какой способ узнать самый быстрый / эффективный? Я знаю, что POSIX поддерживает ffs()метод в strings.h для поиска первого …


30
В C / C ++ каков самый простой способ изменить порядок бит в байте?
Хотя есть несколько способов изменить порядок следования битов в байтах, мне любопытно, что «проще всего» реализовать разработчику. Под реверсом я подразумеваю: 1110 -> 0111 0010 -> 0100 Это похоже, но не дублирует этот вопрос PHP. Это похоже, но не дублирует этот вопрос C. Этот вопрос касается самого простого метода, который …
110 c++  c  bit-manipulation 


20
C / C ++ проверяет, установлен ли один бит, т.е. переменная int
int temp = 0x5E; // in binary 0b1011110. Есть ли способ проверить, равен ли бит 3 в temp 1 или 0 без сдвига бит и маскирования. Просто хочу знать, есть ли для этого какая-то встроенная функция, или я вынужден написать ее сам.
102 c++  c  bit-manipulation 

8
Как мне получить побитовые данные из целочисленного значения в C?
Я хочу извлечь биты десятичного числа. Например, 7 - это двоичный 0111, и я хочу получить 0 1 1 1 все биты, хранящиеся в bool. Как я могу это сделать? Хорошо, цикл - не лучший вариант, могу я сделать что-нибудь еще для этого?

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.