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

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


9
Що таке оператори бітового зсуву (біт-зсуву) і як вони працюють?
Я намагався вивчити С у вільний час, а інші мови (C #, Java тощо) мають те саме поняття (і часто одні й ті ж оператори) ... Що мені цікаво, на рівні ядра, що робить біт зсуву ( <<, >>, >>>) робити, які проблеми вона може допомогти вирішити, і які підводні …


23
Що таке "Доповнення 2"?
Я перебуваю на курсах комп'ютерних систем і борюся , частково, з Доповненням двох . Я хочу це зрозуміти, але все, що я прочитав, не зблизило картину для мене. Я прочитав статтю у Вікіпедії та інші інші статті, включаючи свою текстову книгу . Отже, я хотів запустити цю вікі- пост спільноти, …

5
Вилучення бітів з одним множенням
Я побачив цікаву техніку, використану у відповіді на інше питання , і хотів би зрозуміти її трохи краще. Нам дається 64-розрядне ціле число без підпису, і нас цікавлять наступні біти: 1.......2.......3.......4.......5.......6.......7.......8....... Зокрема, ми хотіли б перемістити їх на перші вісім позицій: 12345678........................................................ Нас не хвилює значення бітів, вказаних ., і …

26
Ефективний алгоритм розвороту бітів (від MSB-> LSB до LSB-> MSB) у C
Який найбільш ефективний алгоритм для досягнення наступного: 0010 0000 => 0000 0100 Перетворення відбувається з MSB-> LSB до LSB-> MSB. Усі біти повинні бути перевернуті; тобто це не обміняння на витримки.

10
Найпоширеніші C # побітові операції над перерахунками
За все життя я не можу пригадати, як встановити, видалити, переключити або перевірити трохи на бітфілді. Або я не впевнений, або я їх змішую, бо мені рідко потрібні. Тож "бит-шпаргалка" було б непогано мати. Наприклад: flags = flags | FlagsEnum.Bit4; // Set bit 4. або if ((flags & FlagsEnum.Bit4)) == …


6
Використовуючи побітне значення АБО 0, щоб передати число
Моя колега натрапила на метод перекрити плаваючі числа за допомогою побітових або: var a = 13.6 | 0; //a == 13 Ми говорили про це і цікавились декілька речей. Як це працює? Наша теорія полягала в тому, що за допомогою такого оператора кідає число до цілого числа, тим самим видаляючи …

1
Яке значення подвійного тильду (~~) у Java?
Під час перегляду вихідного коду Guava я натрапив на такий фрагмент коду (частина реалізації hashCodeдля внутрішнього класу CartesianSet): int adjust = size() - 1; for (int i = 0; i < axes.size(); i++) { adjust *= 31; adjust = ~~adjust; // in GWT, we have to deal with integer overflow …


25
Закруглення до наступної потужності 2
Я хочу написати функцію, яка повертає найближчу наступну потужність 2 числа. Наприклад, якщо мій вхід становить 789, вихід повинен бути 1024. Чи є спосіб досягти цього без використання циклів, а лише з використанням декількох побітових операторів?


9
C # int to byte []
Мені потрібно перетворити intна byte[]єдиний спосіб зробити це використовувати BitConverter.GetBytes(). Але я не впевнений, що це відповідає такій специфікації: Ціле число з підписом XDR - це 32-бітова дата, кодує ціле число в діапазоні [-2147483648,2147483647]. Ціле число представлене в позначенні комплементу двох. Найбільше і найменш значущих байтів - 0 і 3 …
172 c#  .net  bit-manipulation  nfs 

11
~ x + ~ y == ~ (x + y) завжди хибно?
Чи завжди цей код оцінюється як хибний? Обидві змінні - це два підписані доповнення. ~x + ~y == ~(x + y) Я відчуваю, що має бути якесь число, яке задовольняє умовам. Я спробував перевірки чисел між -5000і , 5000але ніколи не досягається рівність. Чи є спосіб скласти рівняння для пошуку …

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