Запитання з тегом «bit-manipulation»

Маніпулювання окремими шматочками. Оператори, що використовуються, можуть включати побітне значення AND, АБО, XOR, NOT, зсув вліво та вправо.

12
Поясніть використання бітового вектора для визначення того, чи всі символи унікальні
Мене бентежить питання, як би трохи працював вектор для цього (не надто знайомий з бітовими векторами). Ось наведений код. Може хтось, будь ласка, пройде мене через це? public static boolean isUniqueChars(String str) { int checker = 0; for (int i = 0; i < str.length(); ++i) { int val = …


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

9
Чому XOR є типовим способом комбінування хешей?
Скажімо , у вас є два хеш H(A)і , H(B)і ви хочете , щоб об'єднати їх. Я читав, що хороший спосіб поєднати два хеши - це XOR, наприклад XOR( H(A), H(B) ). Найкраще пояснення, яке я знайшов, коротко торкається тут, у цих рекомендаціях щодо хеш-функцій : XORing двох чисел з …

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

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 у темпі 1 або 0 без зміщення бітів та маскування. Просто хочу знати, чи є для цього якась вбудована функція, або я змушений писати її сам.
100 c++  c  bit-manipulation 

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.