Видео 5. Операторы сдвига и битовые функции в OwenLogic

Поделиться
HTML-код
  • Опубликовано: 28 дек 2024

Комментарии • 19

  • @andreyace8768
    @andreyace8768 4 года назад +2

    Спасибо за рассказ!

  • @ВиталийОдинцово
    @ВиталийОдинцово 6 месяцев назад

    Прям вспомнил 1989 год уроки программирования и работы с логическими функциями на калькуляторе мк-84... Позволяли экономить кучу его ресурса и выполнять сложные вычисления за 105 шагов программы с 15 переменными и 4 стековыми переменными которые сейчас недоступны для понимания многих выпускников с отметкой ЕГЭ

  • @alexanderskusnov5119
    @alexanderskusnov5119 Год назад

    3:05 "записать нужное состояние в конкретный бит числа". Был рассмотрен пример записи 1. А с нулём, похоже, так не пройдёт (маска будет нулевая и нужный бит не обнулится).

    • @Vasiliy_Sh
      @Vasiliy_Sh Год назад

      Пользуйтесь функцией putbit, 3:39

  • @АлександрМут-ф5у
    @АлександрМут-ф5у 3 года назад

    Для установки нужного бита (4-го, как в примере) в ворде в значении TRUE достаточно такой манипуляции: xIn := TRUE; iOffset := 4; wOutput := SHL(BOOL_TO_WORD(xIn)
    , iOffset) OR wInput; или я что-то упускаю? С какой целью делается инверсия и логическое умножение?

    • @Vasiliy_Sh
      @Vasiliy_Sh 3 года назад

      В вашем варианте показано, как сделать ворд, где все биты кроме четвертого нулевые. В нашем примере - как поменять значение четвертого бита в заполненной маске с сохранением значений остальных битов

    • @АлександрМут-ф5у
      @АлександрМут-ф5у 3 года назад

      @@Vasiliy_Sh понял, спасибо. У меня в прикладной задаче действительно word каждый раз по новой собирается.

  • @fuzzySlash
    @fuzzySlash 4 года назад +1

    Чересчур бегло вышло. Надеюсь, что эти ролики за год соберутся в большое и связное повествование.

    • @Vasiliy_Sh
      @Vasiliy_Sh 4 года назад

      Да, мы тоже надеемся))

  • @TheWhiteShadow2012
    @TheWhiteShadow2012 4 года назад +7

    Лучшеб показалбы практическое применение в какой-то облости . А это не очем ,просто описание функций ,а толку от этого?

    • @ДенисМагдич-в2о
      @ДенисМагдич-в2о 4 года назад +5

      Совершенно верно. Без практических примеров нет смысла. Можно и в справке все почитать.

    • @Vasiliy_Sh
      @Vasiliy_Sh 4 года назад +6

      Для того, чтобы показывать что-то, что будет "очем в какой-то облости", нужно рассказать про элементы, которыми мы будем пользоваться. Вы вполне можете предложить, в какой области применение тех или иных элементов вам было бы интересно, и мы постараемся это учесть в одних из следующих видео. Но порядок от общего к частному и от простого к сложному в любом случае будет сохраняться)

    • @TheWhiteShadow2012
      @TheWhiteShadow2012 4 года назад

      @@Vasiliy_Sh я сторался обходить эти блоки и решал задачу мне в привычной 10 значной системе.

    • @andrewposokhov
      @andrewposokhov 4 года назад

      @@ДенисМагдич-в2о не правда :) в школе вы учите сначала цифры, потом числа, потом операции с ними - базу. А потом решаете задачки, складывая яблоки, покупая продукты и требуя сдачу 😉 Так что, все по порядку идём. И хорошо, что требуется реальный пример. Значит на них точно остановимся, но позднее.

    • @dakolo911
      @dakolo911 4 года назад

      Не заморачивайтесь. Просто отметьте что такая возможность есть. А как её применить, возможно, поймёте потом, когда другие функции разберёте

  • @АндрейЕздаков-у7с
    @АндрейЕздаков-у7с 4 года назад

    А в чем смысл этих двигуль?? Что бы установить 4й бит в 1 я делаю так, al. 3:=1; (нумерация с нуля)
    Это не по хакерских, да??
    Потом узнать состояние можно так stat:=al. 3; или getBit. 3 ; и самое странное в примере узнать состояние нужно посчитать какой, сравнить and, а потом сдвигаем? Так а нафига, если решили двигать, то дигац сразу и сравнивай с 1 всегда.
    Ну и потом, а что мы выиигрываем напрягая моск?
    И ещё вопрос не в тему. А почему регистр не использовать старшую часть для записи, младшую для чтения

    • @Vasiliy_Sh
      @Vasiliy_Sh 4 года назад

      В logic нет текстового языка, так что al.3:=1; не прокатит) а если досмотрели до конца, то там как раз есть готовые блоки типа getbit и setbit.