Зміст:
Визначення - Що означає зміщення бітів?
Зсув бітів - це операція, здійснена над усіма бітами бінарного значення, в яких вони переміщуються певною кількістю місць ліворуч або праворуч. Зсув бітів використовується, коли операнд використовується як серія бітів, а не як ціле. Іншими словами, операнд трактується як окремі біти, які стоять за щось, а не як значення.
Зсув бітів часто використовується в програмуванні і має принаймні одну варіацію в кожній мові програмування.
Зсув бітів також може бути відомий як побітова операція.
Техопедія пояснює зміну бітів
Існує два варіанти бітового зсуву, зсув праворуч і зсув вліво, і це додатково визначається кількістю місць, в яких має відбутися зсув. Наприклад, зміщення операнда на одне значення вліво або зміщення бітових значень "n" вправо.
Існує також два типи зміщення бітів, логічне та арифметичне. Логічний бітовий зсув може бути корисним для множення або ділення непідписаних цілих чисел на дві потужності. Наприклад, якщо значення "0001" або "1" зміщено вліво, воно стає "0010" або "2", знову зміщене вліво, воно стає "0100" або "4." Зсув праворуч має протилежний ефект ділення значення на два за зміну. У більшості випадків зсув трактується як круговий, тому при зміщенні вліво найбільше ліве значення стає самим правим значенням, і навпаки.
Логічний зсув ліворуч та арифметичний зсув ліворуч мають однаковий ефект, тому Java має лише одного оператора лівої зміни (<<). Арифметичний правий зсув дорівнює (>>), тоді як логічний (>>>). У C і C ++ є лише один правий оператор зміни (>>); вид зсуву, який слід здійснити, визначається типом зміщеного цілого числа. Підписані цілі числа зміщуються за допомогою арифметики, тоді як логічне зсув бітів використовується для непідписаних цілих чисел. Зміщення бітів також багато використовується в програмі складання, оскільки мікроконтролери та мікропроцесори зазвичай покладаються на прапори, які представлені окремими бітами. В основному, це тому, що система двійкових чисел використовується в програмуванні на мові збірки, що зміщення бітів стає оператором, що часто використовується.
