Bit Operationen mit der Bash

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

Worum geht es?

  • Bit-Operationen in Bash ermöglichen die Manipulation von Binärdaten auf Bit-Ebene und bieten eine leistungsstarke Möglichkeit, komplexe Berechnungen und Logik durchzuführen.
  • Mit Bit-Operatoren wie Bitweises UND, ODER, XOR, NOT sowie Links- und Rechtsverschiebung können einzelne Bits in Variablen gelesen, gesetzt oder gelöscht werden.
  • Bit-Operationen sind besonders nützlich bei der Arbeit mit Netzwerkkommunikation, Maschinensteuerung und Kryptographie, wo die Manipulation von Bit-Mustern eine wichtige Rolle spielt.
  • Durch das Verständnis der Bit-Operationen in Bash können Skripte effizientere Berechnungen durchführen und komplexe Aufgaben auf einfache Weise lösen, die über die grundlegenden arithmetischen Operationen hinausgehen.

Beispiele

#!/bin/bash

# Bit-Operatoren in Bash

# Bitweises UND (AND)
a=5  # Binär: 0101
b=3  # Binär: 0011
result=$((a & b))  # Binär: 0001 (dezimal: 1)
echo "Bitweises UND: $result"

# Bitweises ODER (OR)
a=5  # Binär: 0101
b=3  # Binär: 0011
result=$((a | b)  # Binär: 0111 (dezimal: 7)
echo "Bitweises ODER: $result"

# Bitweises XOR (Exklusives ODER)
a=5  # Binär: 0101
b=3  # Binär: 0011
result=$((a ^ b))  # Binär: 0110 (dezimal: 6)
echo "Bitweises XOR: $result"

# Bitweises NOT (Negation)
a=5  # Binär: 0101
result=$((~a))  # Binär: 1010 (dezimal: -6)
echo "Bitweises NOT: $result"

# Linksverschiebung (Shift nach links)
a=5  # Binär: 0101
result=$((a << 2))  # Binär: 10100 (dezimal: 20)
echo "Linksverschiebung: $result"

# Rechtsverschiebung (Shift nach rechts)
a=5  # Binär: 0101
result=$((a >> 1))  # Binär: 0010 (dezimal: 2)
echo "Rechtsverschiebung: $result"