Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
|
21.07.2023 07:50:38 |
Gast75905 |
|
|
|
21.07.2023 10:38:15 |
Mase |
|
|
Status-Byte zerlegen |
21.07.2023 11:21:26 |
Gast27906 |
|
|
|
21.07.2023 11:35:34 |
Mase |
|
|
|
21.07.2023 11:42:08 |
Gast27906 |
|
|
|
21.07.2023 14:05:16 |
Gast27905 |
|
|
|
21.07.2023 12:17:39 |
Gast75905 |
|
|
|
21.07.2023 12:46:22 |
Mase |
|
|
|
21.07.2023 12:33:41 |
Gast75905 |
|
|
|
21.07.2023 13:14:40 |
Gast01 |
|
|
|
21.07.2023 14:37:27 |
Gast75905 |
|
|
|
21.07.2023 18:43:05 |
xlKing |
|
|
|
21.07.2023 20:34:58 |
Gast75905 |
|
|
|
21.07.2023 21:28:10 |
Gast75905 |
|
|
Von:
Gast27906 |
Datum:
21.07.2023 11:21:26 |
Views:
229 |
Rating:
|
Antwort:
|
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
|
- 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
Bitte geben Sie ein aussagekräftiges Thema an.
Bitte geben Sie eine gültige Email Adresse ein!
- 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 |
|
|
|
21.07.2023 10:38:15 |
Mase |
|
|
Status-Byte zerlegen |
21.07.2023 11:21:26 |
Gast27906 |
|
|
|
21.07.2023 11:35:34 |
Mase |
|
|
|
21.07.2023 11:42:08 |
Gast27906 |
|
|
|
21.07.2023 14:05:16 |
Gast27905 |
|
|
|
21.07.2023 12:17:39 |
Gast75905 |
|
|
|
21.07.2023 12:46:22 |
Mase |
|
|
|
21.07.2023 12:33:41 |
Gast75905 |
|
|
|
21.07.2023 13:14:40 |
Gast01 |
|
|
|
21.07.2023 14:37:27 |
Gast75905 |
|
|
|
21.07.2023 18:43:05 |
xlKing |
|
|
|
21.07.2023 20:34:58 |
Gast75905 |
|
|
|
21.07.2023 21:28:10 |
Gast75905 |
|
|