Правильная формула sar

Тема в разделе "WASM.BEGINNERS", создана пользователем aptyp, 12 сен 2009.

  1. aptyp

    aptyp Member

    Публикаций:
    0
    Регистрация:
    17 сен 2008
    Сообщения:
    81
    В учебнике есть такое примечание

    Не понятен именно вот этот далее момент
    Какой смысл отнимать и прибавлять то же самое число битов? Каким образом эту формулу 16 - 16 + shr(16 - |K|) + 8 автор преобразовал в эту 16 - (8 - shr(16 - |K|))?
    У автора итоговая величина указана как 16 - «что-то» = 16 - 4.
    Ведь логичнее и понятнее формула выглядела бы таким образом 16 - 8 - shr(16 - |K|)? Тогда итоговая величина получилась бы само |K|. То есть 16 - 8 - shr(16 - 7) = 8 - 4 = 4 число которое и есть та самая абсолютная величина.

    С математикой у меня довольно плоховато, вот и хотел бы уточнить, это ошибка автора насчёт этой формулы
    16 - 16 + shr(16 - |K|) + 8 = 16 - (8 - shr(16 - |K|))?
     
  2. max7C4

    max7C4 New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2008
    Сообщения:
    1.203
    Не парься. Все проще. Команда sar добивает в свободный старший разряд значение которое там было Т.е. для отрицательных чисел там 1 и при сдвиге старшие разряды будут добиваться единицами. А то что мелит автор только больше запутывает чем объясняет