Запитання з тегом «bitwise-operators»

Оператори, які використовуються для виконання маніпуляцій на рівні бітів. Мови програмування орієнтовані на байт, тоді як апаратне забезпечення є орієнтованим на біт. Тому можливість працювати на бітовому рівні може бути дуже важливим при програмуванні, особливо коли програма безпосередньо взаємодіє з обладнанням .


13
Як !! ~ (не тильда / вибух вибуху тильда) змінює результат виклику методу масиву «містить / включає»?
Якщо ви читаєте коментарі в JQuery inArrayсторінці тут , є цікава заява: !!~jQuery.inArray(elm, arr) Тепер я вважаю, що подвійний знак оклику перетворить результат на тип booleanзі значенням true. Що я не розумію, так це те, що в усьому цьому використовується ~оператор tilde ( )? var arr = ["one", "two", "three"]; …

1
Операції з перевагою та бітовою маскою
Я натрапив на (здавалося б) дуже дивний випадок. Візьміть число 2 ( 0b10) і розмаскуйте його 1 ( 0b01) Це повинно давати 0b00еквівалент 0. Однак ось тут містер Шредінгер: var_dump(0b10 & 0b01); // int(0) var_dump(0b10 & 0b01 == 0); // int(0) var_dump(0b10 & 0b01 != 0); // int(0) Віскі. Танго. …

9
Використання побітових операторів для булевих в C ++
Чи є причина не використовувати побітові оператори &, | та ^ для значень "bool" у C ++? Я іноді стикаюся з ситуаціями, коли я хочу, щоб саме одна з двох умов була істинною (XOR), тому я просто вкидаю оператор ^ у умовний вираз. Я також іноді хочу, щоб усі частини …

6
Видаліть прапор Paint в Android
Мій код виглядає так: TextView task_text = (TextView) view.findViewById(R.id.task_text); task_text.setPaintFlags( task_text.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG); Це призводить до того, що в тексті з’являється ефект накреслення. Однак я хотів би знати, як видалити прапор після встановлення, і як виявити, що прапор встановлено. Я розумію, що це побітова операція, але я спробував оператори ~ …

2
Що означає використання однієї труби "|" У аргументі функції робити?
Візьмемо, наприклад, такий код: phpinfo(INFO_MODULES | INFO_ENVIRONMENT | INFO_VARIABLES); Використовується один аргумент, але я надаю список варіантів, розділених символом однієї труби. Що саме відбувається зі значенням аргументу у функції? Чи можу я використовувати те саме у своїх власних функціях? Так так, і чи є в цьому переваги від того, що, …


7
Ефективно знаходити двійкові рядки з низькою відстанню Хеммінга у великому наборі
Проблема: Враховуючи великий (~ 100 мільйонів) список непідписаних 32-розрядних цілих чисел, непідписане 32-розрядне ціле числове вхідне значення та максимальну відстань Хеммінга , поверніть усіх членів списку, що знаходяться в межах вказаної відстані Хеммінга від вхідного значення. Фактична структура даних для зберігання списку відкрита, вимоги до продуктивності диктують рішення в пам'яті, …

9
Це як реалізовано оператор + в C?
При розумінні того, як примітивні оператори , такі як +, -, *і /реалізуються в C, я знайшов такий уривок із листа цікавого відповіді . // replaces the + operator int add(int x, int y) { while(x) { int t = (x & y) <<1; y ^= x; x = t; …

13
практичне застосування побітових операцій [закрито]
В даний час це питання не підходить для нашого формату запитань та відповідей. Ми очікуємо, що відповіді будуть підтверджені фактами, посиланнями чи експертизою, але це питання, швидше за все, вимагатиме дебатів, аргументів, опитування чи розширеного обговорення. Якщо ви вважаєте, що це питання можна покращити і, можливо, знову відкрити, відвідайте довідковий …


9
Логічні оператори проти побітових операторів
Мене бентежить, коли слід використовувати булеві та побітові оператори and проти & or проти | Чи міг хтось просвітити мене щодо того, коли я використовую кожен і коли використання одного над іншим вплине на мої результати?

5
Послідовна операція призводить до несподіваних змінних розмірів
Контекст Ми переносимо код C, який спочатку був складений за допомогою 8-бітного компілятора С для мікроконтролера PIC. Загальна ідіома, яка використовувалася для того, щоб запобігти непідписаним глобальним змінним (наприклад, лічильникам помилок) перекидання назад на нуль, є наступним: if(~counter) counter++; Бітовий оператор тут інвертує всі біти, і твердження вірно, лише якщо …

5
Порівнюючи трохи з булевим
Скажіть, у мене є набір прапорів, закодованих у uint16_t flags. Наприклад, AMAZING_FLAG = 0x02. Тепер у мене є функція. Цю функцію потрібно перевірити, чи хочу я змінити прапор, тому що якщо я хочу це зробити, мені потрібно записати у спалах. І це дорого. Тому я хочу чек, який підказує мені, …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.