public class ModbusBit
    {
        /// <summary>
        /// 获取比特位号从左往右
        /// 例如 0x01=00000001 第0位为1
        /// 默认值-1
        /// </summary>
        /// <param name="bt"></param>
        /// <param name="x"></param>
        /// <returns></returns>
        public static int ModbusBitValI(byte bt, int x)
        {
            int result = -1;
            try
            {
                if (x < 8)
                {
                    result = bt & (1 << x);
                }
            }
            catch { }
            return result;
        }
        /// <summary>
        /// 获取比特位号从左往右
        /// 例如 0x01=00000001 第0位为1
        /// 默认值 false
        /// </summary>
        /// <param name="bt"></param>
        /// <param name="x"></param>
        /// <returns></returns>
        public static bool ValB(byte bt, int x)
        {
            bool result = false;
            try
            {
                if (x < 8)
                {
                    result = (bt & (1 << x)) > 0 ? true : false;
                }
            }
            catch { }
            return result;
        }
    }

 

posted on 2022-04-02 13:16  金科许俊  阅读(229)  评论(0)    收藏  举报