Я понимаю все побитовые операции (в частности, в Java), кроме побитового сдвига влево. Я расчесывал «стеки» и читал много «объяснений» на разных страницах, но я до сих пор остался неудовлетворенным. Либо это чрезвычайно сложная концепция, либо она не совсем понятна и неясна. Но я знаю, что это должно быть релевантно в некоторой степени, потому что я видел алгоритмы Java (сегодня), которые действительно используют оператор сдвига влево «< <». Так что, если кто-то может сломать это на простом английском языке, это было бы здорово!java побитовый сдвиг влево
ответ
сдвиг влево на один бит перемещает все биты в значение одно битовую позицию влево. Позиция, свободная с правой стороны, заполняется бит 0, бит, который был оставлен на ферме, теряется.
Это тот же самый эффект, как и умножения значения на 2.
примера (используя только 8 бит для простоты):
original value 10010011
after shift left 00100110
Если сдвиг влево на п битов, просто повторить, что п раз (при условии, что n меньше длины слова). Для n больше, чем сдвиг длины слова на n% wordLength.
Разве это не больше, чем это? Не существуют ли определенные условия, когда значение числа может стать неопределенным и т. Д.? – Dimpermanence
Нет, вот и все .. – Henry
Я думаю, что я, возможно, передумал это. Ну что ж! Спасибо, Генри. Это, безусловно, дубликат, но я выбираю ваш ответ как правильный ответ. – Dimpermanence
- 1. Побитовый сдвиг влево неожиданный результат
- 2. Побитовый сдвиг влево в Python и C#
- 3. C++ побитовый сдвиг влево на 32
- 4. Побитовый сдвиг влево в Java дает те же значения ...?
- 5. Java: сдвиг влево
- 6. Как побитовый сдвиг в VB.NET?
- 7. AS3 побитовый сдвиг 0?
- 8. побитовый сдвиг влево и | операции в make-файле
- 9. Побитовый сдвиг вправо и влево для большой мощности
- 10. Что означает побитовый сдвиг влево без знака с 16
- 11. Побитовый сдвиг влево и вправо в том же самом заявлении
- 12. Сдвиг влево
- 13. javascript - Как отменить побитовый сдвиг?
- 14. C# побитовый сдвиг на ushort (UInt16)
- 15. Побитовый сдвиг для беззнакового длинного длинного типа
- 16. Рубиновый двоичный сдвиг влево
- 17. Java Bit сдвиг влево Возвращает неверное значение
- 18. Java сдвиг влево и заправить нулях
- 19. сдвиг влево массив символов в Java
- 20. Сдвиг влево inconsistancy
- 21. Логический сдвиг влево
- 22. Подпись сдвиг влево поведение
- 23. Сдвиг влево в MIPS
- 24. Сдвиг влево поплавка типа
- 25. ЖК-сдвиг вправо и сдвиг влево ошибки
- 26. Побитовый сдвиг без знака long на Arduino
- 27. C++ Получить побитовый сдвиг от Enum Value
- 28. JavaScript: Побитовый сдвиг длинного длинного номера
- 29. Почему этот побитовый сдвиг-право не работает?
- 30. Побитовый сдвиг вправо PHP x32 и x64
Вы понимаете как сдвиги вправо, но не сдвиг влево? – khelwood
@khelwood Хотя я мог предположить, что вы подразумеваете, жизнь лучше, если вы просто скажете, как вы себя чувствуете в первый раз, не говоря в коде ... – Dimpermanence
Я ничего не подразумеваю. Я озадачен вашим утверждением, что вы понимаете все другие побитовые операции (которые логически должны включать правый сдвиг), но вы не понимаете сдвиг влево достаточно даже для того, чтобы задать конкретный вопрос об этом. Я хочу проверить, что вы понимаете правильную смену, потому что это знание упростит объяснение сдвига влево. – khelwood