Feedback

C# - Prüfung, ob bestimmtes Bit in Byte gesetzt ist.

Veröffentlicht von am 20.05.2011
(0 Bewertungen)
Eine einfache Methode zur Überprüfung einzelner Bits in einem Byte. Als Parameter werden ein Byte (0x5A) und eine Bitnummer (0-7) übergeben. Returnwert ist ein boolean (true wenn Bit gesetzt ist, sonst false). Die Fehlerbehandlung ist nur auf das Notwendigste beschränkt.
GFU-Schulungen  [Anzeige]

C# Grundlagen

Die Schulung vermittelt Ihnen die Grundlagen von C# in der Arbeit mit Datentypen sowie bei Klassenbibliotheken. Sie lernen, mit Variablen umzugehen und deren verschiedene Formen zu konvertieren. 

C# Komplett

Sie kennen sich in objektorientierter Programmierung aus. Sie schreiben C++ oder Java? Und nun stehen Sie vor der Aufgabe, in C# Anwendungen zu erstellen. Das C# Komplett-Seminar verschafft Ihnen umfassende Programmierkenntnisse in dieser Sprache. Nach der Schulung entwickeln Sie selbständig Anwendungen mit C#. Sie kennen die Datentypen und Klassenbibliotheken der objektorientierten Programmiersprache C#. Der Komplettkurs setzt bei den Grundlagen von C# ein. Sie arbeiten mit Variablen und konvertieren Typen. Multithreading, Delegates, Generics sind nach dem Seminar für Sie kein Geheimnis mehr.

        /// <summary>
        /// Prüft, ob ein angegebenes Bit im Byte gesetzt ist.
        /// </summary>
        /// <param name="b">Byte, welches getestet werden soll.</param>
        /// <param name="BitNumber">Das zu prüfende Bit (0 bis 7).</param>
        /// <returns>gesetzt=true, nicht gesetzt=false</returns>
        public static bool CheckBitSet(byte b, int BitNumber)
        {
            //Kleine Fehlerbehandlung
            if (BitNumber < 8 && BitNumber > -1)
            {
                return (b & (1 << BitNumber)) > 0;
            }
            else
            {
                throw new InvalidOperationException(
                "Der Wert für BitNumber " +  BitNumber.ToString() + " war nicht im zulässigen Bereich! (BitNumber = (min)0 - (max)7)");
            }

        }
Abgelegt unter Byte, Bit, Prüfen.

4 Kommentare zum Snippet

Pirmin schrieb am 20.05.2011:
Ich würde bei der Fehlerbehandlung auch auf mögliche negative Zahlen testen.
spezi schrieb am 21.05.2011:
geht auch kürzer:

public static bool CheckBitSet(byte b, byte BitNumber)
{
if (BitNumber < 8)
{
return (b & (1 << BitNumber)) > 0;
}
else
{
throw new InvalidOperationException(
"Der Wert für BitNumber (byte) war zu gross! (BitNumber = (min)0 - (max)7)"
);
}
}
Martin Dauskardt schrieb am 24.05.2011:
Sieht durchaus eleganter aus :-)
Martin Dauskardt schrieb am 24.05.2011:
Habe es im Snippet entsprechend angepasst.
 

Logge dich ein, um hier zu kommentieren!