Вопросы с тегом «bit-shift»

9
Что такое операторы побитового сдвига (bit-shift) и как они работают?
Я пытался изучать C в свободное время, и другие языки (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, который добавляет метод фильтра в Array, и в нем была строка кода, которая смутила меня. 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.