Проверка значения определённого бита в байте - C#

Формулировка задачи:

Добрый день! Программа по СОМ порту получает телеграмму которую надо расшифровать. В первых двух битах третьего байта содержатся флаги работы и аварии механизма. Как можно проверить значение соответствующего бита (0, 1)? Вот как я делал это на СИ:
unsigned char Buffer[32];
if (Buffer[2]&0x01) //первый бит
{
 ////
}
if (Buffer[2]&0x02) //второй бит
{
 ////
}
C# такую лексему не позволяет скомпилировать

Код к задаче: «Проверка значения определённого бита в байте - C#»

textual
        /// <summary>
        /// Возвращаем значение указанного бита.
        /// </summary>
        /// <param name="arrByte">Массив байт содержащий искомый бит.</param>
        /// <param name="intNumberBite">Номер искомого бита.</param>
        /// <returns></returns>
        static public bool arrByte2Bite( byte[] arrByte, int intNumberBite)
        {
            if (arrByte.Length*8<intNumberBite)
                return false; //Вернём false если номер бита вышел за приделы массива
 
            int intNumByte = intNumberBite / 8; // Уточним номер байта
            int intNumBite = intNumberBite % 8; // Уточним номер бита в бите
            return (((arrByte[intNumByte] >> intNumBite) & 1)==1);
        }
Эта работа вам не подошла?

Вы всегда можете заказать любую учебную работу у наших авторов от 20 руб.

13   голосов, оценка 4.077 из 5


СДЕЛАЙТЕ РЕПОСТ