Пример #1
0
        /// <summary>
        /// Присвоить признак по указанному адресу (номеру бита)
        /// </summary>
        /// <param name="opt">Значение признака</param>
        /// <param name="bit">Номер бита</param>
        private void marked(bool opt, int bit)
        {
            Int32 val = HMath.Pow2(bit);

            if (opt == true)
            {
                if (!((m_mark & val) == val))
                {
                    m_mark += val;
                }
                else
                {
                    ;
                }
            }
            else
            if ((m_mark & val) == val)
            {
                m_mark -= val;
            }
            else
            {
                ;
            }
        }
Пример #2
0
        /// <summary>
        /// Проверить установлено ли значение признака в ИСТИНА по адресу (номеру бита) и доп./смещению
        /// </summary>
        /// <param name="val">Все значения признаков</param>
        /// <param name="bit">Номер бита</param>
        /// <param name="offset">Доп./смещение</param>
        /// <returns>Признак установки значения</returns>
        public static bool IsMarked(int val, int bit, int offset = 0)
        {
            bool bRes = false;

            if ((val & HMath.Pow2(bit, offset)) == HMath.Pow2(bit, offset))
            {
                bRes = true;
            }
            else
            {
                ;
            }

            return(bRes);
        }