формула чтение бита с ипользованием маски

Стартовая страница Форумы Понять, как работает ПО Использование формул формула чтение бита с ипользованием маски

Просмотр 5 сообщений - с 1 по 5 (из 5 всего)
  • Автор
    Сообщения
  • #17870
    leopenin
    Участник

    Добрый день! стоит задача прочитать состояние бита с помощью битовой маски .
    Те приходит число в десятичном формате необходимо наложить битовую маску чтобы узнать состояние бита и записать в отдельный канал написал такую формулу:
    double MBitMasck(int CnlNum)
    {
    if ((Val(CnlNum)&0b00000001)>0)
    {
    return (ushort)Val(630,1);
    }
    else
    {
    return (ushort)Val(630,0);
    }
    }
    Работать не хочет, помогите разобраться пожалуйста

    #17871
    a80808
    Участник

    Добрый день!
    Есть «штатная» формула GetBit(Значение, номер бита) Например:
    GetBit(Val(1), 2) где 1 — номер канала, считанного значения, а 2 — номер бита

    #17872
    leopenin
    Участник

    Добрый день! спасибо Вам огромное!!! с Наступающим !!!!

    #17873
    a80808
    Участник

    Спасибо, и Вас с наступающим!

    #17877
    Mikhail
    Модератор

    Добрый день!
    Формат числа касается только его отображения для пользователя. Само по себе число является набором байт. Имеет значение, вещественное или целочисленное — кодируется по-разному. В Rapid SCADA входные каналы вещественные 8 байт.
    С наступающим!

Просмотр 5 сообщений - с 1 по 5 (из 5 всего)
  • Вы должны авторизироваться для ответа в этой теме.