Obsah:
Definícia - Čo znamená presunutie bitov?
Bitové posunutie je operácia vykonaná na všetkých bitoch binárnej hodnoty, v ktorých sú posunuté o určený počet miest buď doľava alebo doprava. Bitové posunutie sa používa, keď sa operand používa skôr ako séria bitov ako ako celok. Inými slovami, s operandom sa zaobchádza ako s jednotlivými bitmi, ktoré znamenajú niečo a nie ako hodnotu.
Bitové posunutie sa často používa pri programovaní a má najmenej jednu variáciu v každom programovacom jazyku.
Bitový posun môže byť tiež známy ako bitová operácia.
Techopedia vysvetľuje bitové posúvanie
Existujú dve variácie na radenie bitov, posun doprava a posun doľava a je to ďalej definované počtom miest, na ktorých by sa mal posun uskutočniť. Napríklad posunutie jednej hodnoty operandu doľava alebo posunutie bitových hodnôt „n“ doprava.
Existujú tiež dva druhy bitových posunov, logické a aritmetické. Logické posunutie bitov môže byť užitočné na vynásobenie alebo rozdelenie celých čísel bez znamienka dvoma mocnosťami. Napríklad, ak je hodnota „0001“ alebo „1“ posunutá doľava, stáva sa „0010“ alebo „2“, posunutá doľava opäť na „0100“ alebo „4.“ Posun doprava má opačný účinok, keď delí hodnotu dvoma na jednu zmenu. Vo väčšine prípadov sa radenie považuje za kruhové, takže pri posúvaní doľava sa hodnota úplne vľavo stane hodnotou úplne vpravo a naopak.
Logický posun vľavo a aritmetický posun vľavo majú rovnaký účinok, takže Java má iba jedného operátora ľavého posunu (<<). Aritmetický posun doprava je (>>), zatiaľ čo logický je (>>>). V C a C ++ je iba jeden operátor s pravou smenou (>>); druh posunu, ktorý sa má vykonať, je určený typom posunutého celého čísla. Podpísané celé čísla sa posúvajú pomocou aritmetiky, zatiaľ čo logické posuny bitov sa používajú na nepodpísaných celých číslach. Bitové posunutie sa tiež často používa pri programovaní zostáv, pretože mikrokontroléry a mikroprocesory sa zvyčajne spoliehajú na vlajky, ktoré sú zastúpené jednotlivými bitmi. V podstate je to preto, že systém binárnych čísiel sa používa pri programovaní v jazyku zostavy, takže bitové posúvanie sa stáva bežne používaným operátorom.