Thema Datum  Von Nutzer Rating
Antwort
21.07.2023 07:50:38 Gast75905
Solved
21.07.2023 10:38:15 Mase
NotSolved
Rot Status-Byte zerlegen
21.07.2023 11:21:26 Gast27906
*****
NotSolved
21.07.2023 11:35:34 Mase
NotSolved
21.07.2023 11:42:08 Gast27906
NotSolved
21.07.2023 14:05:16 Gast27905
NotSolved
21.07.2023 12:17:39 Gast75905
NotSolved
21.07.2023 12:46:22 Mase
NotSolved
21.07.2023 12:33:41 Gast75905
NotSolved
21.07.2023 13:14:40 Gast01
NotSolved
21.07.2023 14:37:27 Gast75905
NotSolved
21.07.2023 18:43:05 xlKing
NotSolved
21.07.2023 20:34:58 Gast75905
NotSolved
21.07.2023 21:28:10 Gast75905
NotSolved

Ansicht des Beitrags:
Von:
Gast27906
Datum:
21.07.2023 11:21:26
Views:
229
Rating: Antwort:
  Ja
Thema:
Status-Byte zerlegen

Das ist eigentlich Grundlagenwissen... Unterschiede gibt es nur im Sprachsyntax (je nach Sprache) und das kann man nachschlagen.

Option Explicit

Sub Example()
  
  Dim Status_Byte  As Byte
  
  Status_Byte = 12
  
  Dim i As Long
  Debug.Print "BIT: (MSB) 7 6 5 4 3 2 1 0 (LSB)"
  Debug.Print Tab(12);
  For i = 0 To 8 * LenB(Status_Byte) - 1
    Debug.Print Format$(Abs(IsBitEnabled(i, Status_Byte)), "0 ");
  Next
  Debug.Print
  Debug.Print Tab(12); "= " & Status_Byte & " (base 10)"
  
End Sub

Public Function IsBitEnabled(BitIndex, Value As Byte) As Boolean
  Dim v As Byte: v = 2 ^ (7 - BitIndex)
  IsBitEnabled = (Value And v) = v
End Function

liefert:

BIT: (MSB) 7 6 5 4 3 2 1 0 (LSB)
           0 0 0 0 1 1 0 0 
           = 12 (base 10)

Hier ist also das Bit 2 (2^2=4) und Bit 3 (2^3=8) gesetzt (4+8=12).

 

Grüße


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
21.07.2023 07:50:38 Gast75905
Solved
21.07.2023 10:38:15 Mase
NotSolved
Rot Status-Byte zerlegen
21.07.2023 11:21:26 Gast27906
*****
NotSolved
21.07.2023 11:35:34 Mase
NotSolved
21.07.2023 11:42:08 Gast27906
NotSolved
21.07.2023 14:05:16 Gast27905
NotSolved
21.07.2023 12:17:39 Gast75905
NotSolved
21.07.2023 12:46:22 Mase
NotSolved
21.07.2023 12:33:41 Gast75905
NotSolved
21.07.2023 13:14:40 Gast01
NotSolved
21.07.2023 14:37:27 Gast75905
NotSolved
21.07.2023 18:43:05 xlKing
NotSolved
21.07.2023 20:34:58 Gast75905
NotSolved
21.07.2023 21:28:10 Gast75905
NotSolved