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

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

3
Що таке >>> = оператор у C?
Даний колегою як головоломка, я не можу зрозуміти, як насправді компілюється та запускається ця програма C. Що це за >>>=оператор і дивний 1P1буквал? Я пройшов тестування в Clang та GCC. Немає попереджень і вихід "???" #include <stdio.h> int main() { int a[2]={ 10, 1 }; while( a[ 0xFULL?'\0':-1:>>>=a<:!!0X.1P1 ] ) …

19
Чи дійсно швидше множення та ділення за допомогою операторів зсуву в C?
Множення та ділення можна досягти, наприклад, за допомогою бітових операторів i*2 = i<<1 i*3 = (i<<1) + i; i*10 = (i<<3) + (i<<1) і так далі. Насправді швидше використовувати кажуть, (i<<3)+(i<<1)щоб помножити на 10, ніж використовувати i*10безпосередньо? Чи є якісь дані, які не можна примножувати чи ділити таким чином?


1
Часи-два швидше, ніж біт-зсув, для цілих чисел Python 3.x?
Я дивився на джерело sorted_containers і був здивований, побачивши цей рядок : self._load, self._twice, self._half = load, load * 2, load >> 1 Ось loadціле число. Навіщо використовувати зсув бітів в одному місці, а множення в іншому? Здається розумним, що зміщення бітів може бути швидшим, ніж інтегральне ділення на 2, …

7
Що таке оператор JavaScript >>> і як ним користуватися?
Я дивився на код від Mozilla, який додав метод фільтру до масиву, і він мав рядок коду, який мене збентежив. var len = this.length >>> 0; Я ніколи не бачив, щоб раніше >>> використовувався в JavaScript. Що це таке і що він робить?


30
Чи доводилося вам коли-небудь використовувати зсув бітів у реальних проектах?
Чи доводилося вам коли-небудь використовувати зсув бітів у реальних програмових проектах? У більшості (якщо не у всіх) мовах високого рівня є оператори зсуву, але коли вам насправді доведеться їх використовувати?


3
Чому 11010100 << 1 дорівнює 110101000, а не 10101000?
Чому, коли я намагаюся змінити біти на 11010100 2 , результат 110101000 2 , а не 10101000 2 . int a = Integer.parseInt("11010100", 2) &lt;&lt; 1; Я намагаюся це зробити: int a = (byte)(Integer.parseInt("11010100", 2) &lt;&lt; 1); Але якщо значення виходу більше 128, все переходить у мінус, що логічно. Як …
40 java  bit-shift 
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.