Пример #1
0
        public static void ChangeBit(this ref byte data, StatusFlagBits bit, bool state)
        {
            byte bitValue = (byte)(1 << (int)bit);

            if (state)
            {
                // Set bit
                data = (byte)(data | bitValue);   // or
            }
            else
            {
                // Clear bit. TODO: Better way to clear a bit?
                data = (byte)(data & (255 ^ bitValue));   // and + xor
            }
        }
Пример #2
0
 public static void SetBit(this ref byte data, StatusFlagBits bit)
 {
     ChangeBit(ref data, bit, true);
 }
Пример #3
0
 public static void ClearBit(this ref byte data, StatusFlagBits bit)
 {
     ChangeBit(ref data, bit, false);
 }
Пример #4
0
 public static bool IsBitSet(this byte data, StatusFlagBits bit)
 {
     return(((data >> (int)bit) & 1) == 1);
 }