Was ist Bitverschiebung?
Die Bitverschiebung ist eine Operation, die für alle Bits eines binären Wertes ausgeführt wird, in dem sie um eine bestimmte Anzahl von Stellen entweder nach links oder nach rechts bewegt werden. Bit-Shifting wird verwendet, wenn der Operand als eine Reihe von Bits statt als Ganzes verwendet wird. Mit anderen Worten, der Operand wird als einzelne Bits behandelt, die für etwas stehen und nicht als Wert.
Bit-Verschiebung wird oft bei der Programmierung verwendet und hat mindestens eine Variation in jeder Programmiersprache.
Bitverschiebung kann auch als bitweise Operation bekannt sein.
Bit Shifting, Shift Right und Shift Left unterscheiden sich in zwei Varianten und sind durch die Anzahl der Stellen definiert, an denen der Shift erfolgen soll. Zum Beispiel Verschieben des Operanden um einen Wert nach links oder Verschieben der Bits ’n‘ -Werte nach rechts.
Es gibt auch zwei Arten von Bitverschiebung, logisch und arithmetisch. Die logische Bitverschiebung kann zum Multiplizieren oder Dividieren von vorzeichenlosen Ganzzahlen mit Zweierpotenzen nützlich sein. Wenn zum Beispiel der Wert ‚0001‘ oder ‚1‘ nach links verschoben wird, wird er zu ‚0010‘ oder ‚2‘, nach links verschoben und wieder zu ‚0100‘ oder ‚4‘. Eine Verschiebung nach rechts hat den gegenteiligen Effekt, dass der Wert durch zwei pro Schicht geteilt wird. In den meisten Fällen wird die Verschiebung als kreisförmig behandelt. Wenn Sie also nach links verschieben, wird der Wert ganz links zum Wert ganz rechts und umgekehrt.
Logische Linksverschiebung und arithmetische Linksverschiebung haben denselben Effekt, so dass Java nur einen einzigen Linksverschiebungsoperator (<<) hat. Die arithmetische Rechtsverschiebung ist (>>), während die Logik (>>>) ist. In C und C ++ gibt es nur einen Shift-Right-Operator (>>); Die Art der zu vollziehenden Verschiebung wird durch den Typ der verschobenen Ganzzahl bestimmt. Ganzzahlige Zahlen mit Vorzeichen werden mit Arithmetik verschoben, während bei Ganzzahlen ohne Vorzeichen eine logische Bitverschiebung verwendet wird. Bit-Shifting wird auch häufig in der Assemblerprogrammierung verwendet, da Mikrocontroller und Mikroprozessoren normalerweise auf Flags beruhen, die durch einzelne Bits dargestellt werden. Da das Binärzahlsystem bei der Programmierung in Assemblersprache verwendet wird, wird Bitverschiebung zu einem häufig verwendeten Operator.