Wozu ist das Bitshiften beim Programmieren (Java) gut?

2 Antworten

Nehmen wir an du hast ein Gerät welches dir nacheinander 4 Signale sendet .
Diese werden in 4 digitale Zustände gewandelt . 0 für schwaches Signal , 1 für starkes Signal.

Dein Rechner hat als kleinste Einheit 1 Byte . Das sind 8 Zustände .
Jetzt wäre es doch praktisch wenn du einfach 2x4 Zustände darin speichern könntest .
Um jetzt nicht 4 bitmasken zu nutzen bzw 8 um alle Infos des Bytes auszulesen bzw zu schreiben . Könntest du einfach das letzte Bit mit einer schleife prüfen und schiebst nach jeder Prüfung die Bits ein weiter.
Genauso kannst mit nur einer bitmaske auch die Zustände in das Byte schieben.

Wenn du nun die Daten weitergibst sind sie ohne Bits zu verschwenden byteweise übertragbar .

Bitshift nach links ist wie eine Multiplikation mit 2. Bitshift nach rechts ist Division durch 2.

BSP: Dual = 0001 => Dez = 1

Bitshift nach links Dual = 0010 => Dez = 2
Bitshift nach links Dual = 0100 => Dez = 4
Bitshift nach links Dual = 1000 => Dez = 8
usw.

Man verwendet das aber auch für Bitmasken.