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

примітивні операції низького рівня, які безпосередньо маніпулюють бітовими шаблонами та двійковими цифрами

7
Чому бітові маски називають «масками» і якій цілі вони служать?
Чому так називають "бітові маски"? Я знаю, що вони в основному використовуються для побітових операцій, і використання бітових масок є більш ефективним, ніж використання окремих змінних. Однак моє питання: чому і коли були винайдені бітові маски? Чи використовувалися вони з ранніх обчислень? Чи існують інші типи "масок", крім бітових масок …

2
Чому бітові оператори мають нижчий пріоритет, ніж порівняння?
Чи може хтось пояснити обґрунтування, чому в купі найбільш популярних мов (див. Примітку нижче) оператори порівняння (==,! =, <,>, <=,> =) Мають більший пріоритет, ніж бітові оператори (&, |, ^ , ~)? Я не думаю, що я коли-небудь стикався з використанням, де цей пріоритет був би природним. Це завжди такі …

7
Використання розширених перерахунків для бітових прапорів у C ++
An enum X : int(C #) або enum class X : int(C ++ 11) - це тип, який має приховане внутрішнє поле, intяке може містити будь-яке значення. Крім того, на перелік визначено ряд попередньо визначених констант X. Можна привести enum до його цілого значення і навпаки. Це все вірно і …

13
Наскільки добре потрібно добре закругленому програмісту при виконанні бітових операцій? [зачинено]
Я недавно переглядав якийсь код OpenJDK і знайшов там інтригуючі фрагменти коду, які пов'язані з бітовими операціями . Я навіть задав це питання на StackOverflow. Ще один приклад, який ілюструє точку: 1141 public static int bitCount(int i) { 1142 // HD, Figure 5-2 1143 i = i - ((i >>> …

1
Чому карету використовували для XOR замість експоненції?
Не те, що це справді проблема для тих, хто раніше стикався з цим синтаксичним питанням, але я бачу дику кількість плутанини, що випливає з використання каретки ( ^) як операції XOR замість широко прийнятої математичної операції експоненції. Звичайно, є багато місць, де (неправильне) використання каретки пояснюється та виправляється, але я …

11
Коли я перевіряю різницю у часі між зміщенням та множенням на C, різниці немає. Чому?
Мене вчили, що зміщення у двійковій формі набагато ефективніше, ніж множення на 2 ^ k. Тому я хотів експериментувати, і я використав наступний код, щоб перевірити це: #include <time.h> #include <stdio.h> int main() { clock_t launch = clock(); int test = 0x01; int runs; //simple loop that oscillates between int …

15
Для чого корисні бітові оператори? [зачинено]
Закрито . Це питання має бути більш зосередженим . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб воно зосередилось на одній проблемі, лише відредагувавши цю публікацію . Закрито 5 років тому . Мови програмування часто поставляються з різними бітовими операторами (наприклад, побітове зсув вліво-вправо, побітові AND, OR, …

6
Які переваги використання побітових операцій? [зачинено]
Закрито . Це питання має бути більш зосередженим . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб воно зосередило увагу на одній проблемі, лише відредагувавши цю публікацію . Закрито 5 років тому . Після прочитання останнього бюлетеня CodeProject я натрапив на цю статтю про побитові операції . …

2
Чи є якась перевага в маніпуляції з бітом в стилі c через std :: bitset?
Я працюю майже виключно в C ++ 11/14, і, як правило, чіпляюсь, коли бачу такий код: std::int64_t mArray; mArray |= someMask << 1; Це лише приклад; Я кажу про трохи розумну маніпуляцію взагалі. Чи є в C ++ справді якийсь момент? Вищезазначене є переконливим та схильним до помилок, а використання …

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

3
Як зберігаються негативні підписані значення?
Я переглядав це відео про максимальні та мінімальні значення підписаних цілих чисел. Візьмемо приклад позитивного підписаного значення - 0000 0001 Перший біт позначає, що число є позитивним, а останні 7 біт - самим числом. Тож це легко інтерпретується як +1. Тепер візьмемо приклад негативного підписаного значення - 1000 0000, яке …

3
Що означає "(int) значення & 0x1, (int) значення & 0x2, (int) значення & 0x4, (int) значення & 0x8"? "
"Значення" коливається від 0 до 15 (можливі його значення). Коли будуть виконані ці 4 "якщо" умови? Якщо моє (int) значення = 2, це означає 0010? if ((int)value & 0x1) { //statement here } if ((int)value & 0x2) { //statement here } if ((int)value & 0x4) { //statement here } if …

3
Чи є щось особливе у номері 65535?
2¹⁶-1 & 2⁵ = 2⁵ (або? Очевидно?) Сьогодні розробник запитав мене, що таке побітове значення 65535 & 32, тобто 2¹⁶-1 & 2⁵ =? Спочатку я подумав спонтанно 32, але здавалося легко, після чого я подумав кілька хвилин, а потім відповів 32. 32 здається, це була правильна відповідь, але як? 65535 …

2
Чи можна визначити всі побітові оператори, використовуючи 'bit bit nand', аналогічно тому, як вся булева логіка може бути побудована за допомогою просто 'boolean nand'?
Nand відомий як "універсальний" логічний ворота, оскільки він дозволяє визначити всі інші булеві логічні ворота: not(x) = nand(x,x) and(x, y) = not(nand(x, y)) or(x, y) = nand(not(x), not(y)) nor(x, y) = not(or(x, y)) xor(x, y) = nand(nand(a, nand(a, b)), nand(b, nand(a, b))) Це відоме як nand-логіка і зазвичай використовується в …

3
Швидкість << >> множення та ділення
Ви можете використовувати &lt;&lt;для множення та &gt;&gt;ділення чисел у python, коли я їх розміщую, я знаходжу, використовуючи спосіб двійкового зсуву робити це в 10 разів швидше, ніж ділення або множення звичайного шляху. Чому використовується &lt;&lt;і &gt;&gt;набагато швидше, ніж *і /? Які позаду сцени відбуваються процеси, *і /так повільно?
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.