Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Ein Byte "zerlegen"

Forumthread: Ein Byte "zerlegen"

Ein Byte "zerlegen"
13.02.2003 22:59:46
Daniel
Hallo zusammen,

ich suche eine Lösung für folgendes Problem:
aus einem Byte z.B. 249 sollen die letzten 4 Bits wiedergegeben werden. 249 ==> 11111001 wiedergegeben werden soll dann 9 ==> 00001001 Sowas soll mit einer Maske lösbar sein. Die logische Verknüpfung "11111001 AND 00001111 würde zwar als Ergebnis immer die letzten 4 Bits liefern, aber wie setzt man das in VB um ??
Über eure Hilfe wprde ich mich sehr freuen.
Daniel

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Ein Byte "zerlegen"
13.02.2003 23:31:24
wolf.w.radzinski

ohne VBA
Zahl in A1
=Rest(A1;16)

mit VBA
Function vierbits(zahl As Variant) As Integer
vierbits = zahl Mod 16
End Function


Gruß -wr-

Re: Ein Byte "zerlegen"
13.02.2003 23:56:05
wolf.w.radzinski

oder aber so z.B.

damit kann ein beliebiger Bitanteil extrahiert werden und muß evtl nur noch durch 2^abbit geteilt werden (bei Bedarf)

Gruß -wr-


Anzeige
auch sowas ist z.B. möglich
14.02.2003 00:29:26
wolf.w.radzinski

und so z.B. aufrufen

=bits(A1;binindez(10101011))

bzw in deinem Fall

=bits(A1;binindez(1111))

;
Anzeige

Infobox / Tutorial

Byte-Zerlegung in Excel: So extrahierst Du Bits


Schritt-für-Schritt-Anleitung

Um ein Byte in Excel zu zerlegen und die letzten 4 Bits (low byte) zu extrahieren, kannst Du folgende Schritte ausführen:

  1. Zahl in eine Zelle eingeben: Gib die Zahl, die Du zerlegen möchtest, in Zelle A1 ein. Zum Beispiel 249.

  2. Direkte Excel-Formel verwenden: Gib in eine andere Zelle die folgende Formel ein:

    =REST(A1; 16)

    Diese Formel verwendet die REST-Funktion, um die letzten 4 Bits aus dem Byte zu extrahieren.

  3. VBA-Funktion erstellen (optional): Wenn Du mit VBA arbeiten möchtest, kannst Du eine benutzerdefinierte Funktion erstellen. Gehe dazu in den VBA-Editor (Alt + F11) und füge den folgenden Code ein:

    Function vierbits(zahl As Variant) As Integer
       vierbits = zahl Mod 16
    End Function

    Diese Funktion gibt Dir ebenfalls die letzten 4 Bits zurück.


Häufige Fehler und Lösungen

  1. Fehler bei der Eingabe: Stelle sicher, dass Du eine gültige Zahl in Zelle A1 eingegeben hast. Bei Text oder ungültigen Werten kann die Formel nicht korrekt funktionieren.

  2. VBA nicht aktiviert: Wenn die VBA-Funktion nicht funktioniert, überprüfe, ob die Makros in Excel aktiviert sind. Gehe zu den Excel-Optionen und aktiviere die Makros.

  3. Falsche Zelle referenziert: Achte darauf, dass die Formel in der richtigen Zelle eingegeben wird und auf die richtige Zelle A1 verweist.


Alternative Methoden

Neben der Verwendung der REST-Funktion und VBA gibt es auch andere Ansätze:

  • Bitoperationen: Du kannst die Funktion BITS verwenden, um spezifische Bitanteile zu extrahieren. Zum Beispiel:

    =BITS(A1; BININDEZ(1111))

    Dies gibt Dir ebenfalls die letzten 4 Bits zurück.

  • Mathematische Umwandlung: Du kannst auch die Zahl durch 16 teilen und den ganzzahligen Teil abschneiden, um die letzten 4 Bits zu extrahieren.


Praktische Beispiele

Nehmen wir an, Du hast die Zahl 249 in Zelle A1. Hier sind einige Beispiele:

  • Letzte 4 Bits extrahieren:

    • Mit Formel: =REST(A1; 16) ergibt 9.
    • Mit VBA: =vierbits(A1) ergibt ebenfalls 9.
  • High Byte und Low Byte bestimmen:

    • Der Low Byte ist hier 9 (letzte 4 Bits).
    • Der High Byte ist 249 (ursprüngliche Zahl) minus Low Byte, also 249 - 9 = 240.

Tipps für Profis

  • Verwende Named Ranges: Um Deine Formeln übersichtlicher zu gestalten, kannst Du in Excel benannte Bereiche verwenden. Dies erleichtert die Lesbarkeit und Wartung der Formeln.

  • Integriere Fehlerbehandlung in VBA: Wenn Du mit VBA arbeitest, füge Fehlerbehandlungsroutinen hinzu, um sicherzustellen, dass Deine Funktion auch bei ungültigen Eingaben robust bleibt.

  • Teste verschiedene Werte: Experimentiere mit verschiedenen Zahlen in A1, um ein besseres Gefühl für die Funktionsweise von High Byte und Low Byte zu bekommen.


FAQ: Häufige Fragen

1. Wie kann ich die ersten 4 Bits (High Byte) extrahieren?
Um die ersten 4 Bits zu extrahieren, kannst Du die Zahl durch 16 teilen und den ganzzahligen Teil verwenden. Zum Beispiel: =GANZZAHL(A1 / 16).

2. Funktioniert das auch mit negativen Zahlen?
Ja, die oben genannten Methoden funktionieren auch mit negativen Zahlen, jedoch kann das Ergebnis unterschiedlich interpretiert werden. Achte auf die verwendeten Datentypen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige