Важная информация

User Tag List

Страница 4 из 11 ПерваяПервая 12345678 ... ПоследняяПоследняя
Показано с 31 по 40 из 105

Тема: Что такое тангенс и как с ним боротся?

  1. #31
    Vitamin C++ Аватар для Vitamin
    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,259
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    36 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Кстати, если вы собираетесь потом на него что-то не только умножать, но и делить, неплохо бы иметь вторую таблицу котангенса, и таким образом привести деление к умножению.
    А если набор чисел, на которые умножается тангенс, невелик, то сразу рассчитать набор таблиц:
    Код:
    ;in:
    ;L=angle
    ;A=len
    ;out:
    ;A=len*tan(angle)
    add a,'Table
    ld h,a
    ld a,(hl)

  2. #31
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #32
    Veteran
    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,858
    Спасибо Благодарностей отдано 
    131
    Спасибо Благодарностей получено 
    104
    Поблагодарили
    62 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ё-моё, да вы чё?
    Вспоминаем курс алгебры:

    tg x = sin x / cos x

    ctg x = 1 / tg x = cos x / sin x

    Вот и получаем эти таблички. Можно даже хранить только sin x и cos x, а tg x получать делением при расчетах.

  4. #33
    Vitamin C++ Аватар для Vitamin
    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,259
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    36 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Andrew771 Посмотреть сообщение
    Ё-моё, да вы чё?
    Вспоминаем курс алгебры:
    Ё-моё, да ты чё?
    Вспоминаем, что деление на спектруме- крайне дорогая операция.

  5. #34
    Veteran
    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,858
    Спасибо Благодарностей отдано 
    131
    Спасибо Благодарностей получено 
    104
    Поблагодарили
    62 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ну тогда на бейсике заранее рассчитываем и строим таблицу тангенсов по приведенным формулам.

  6. #35
    Master Аватар для GM BIT
    Регистрация
    27.11.2008
    Адрес
    Красноярск
    Сообщений
    747
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vitamin Посмотреть сообщение
    Вспоминаем, что деление на спектруме- крайне дорогая операция.
    Один раз поделить не так уж и дорого
    Достаточно иметь одну табличку sin или cos в 256 байт
    Взяли числитель сдвинулись на 64 байта взяли знаменатель, поделили, получили тангенс. Проблем на 2р убытка

  7. #36
    Vitamin C++ Аватар для Vitamin
    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,259
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    36 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от GM BIT Посмотреть сообщение
    Один раз поделить не так уж и дорого
    А почему один раз? Если нам нужно однократный расчет тангенса, то его проще захардкодить.

  8. #37
    Veteran Аватар для Destr
    Регистрация
    26.03.2008
    Адрес
    Питкяранта
    Сообщений
    1,802
    Спасибо Благодарностей отдано 
    249
    Спасибо Благодарностей получено 
    114
    Поблагодарили
    88 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Кстати, если вы собираетесь потом на него что-то не только умножать, но и делить, неплохо бы иметь вторую таблицу котангенса, и таким образом привести деление к умножению.
    Да это мысль, спасибо!

    ---------- Post added at 11:30 ---------- Previous post was at 11:25 ----------

    И ещё:
    Кто нибудь может разъяснить про "дробный байт"?
    Вот например 0.5 это #0080
    Если умножить его на любой байт, то получим половину этого байта (в старшем байте).
    Всё правильно.
    А вот как выглядит в HEX -0.5 ?
    Не могу себе представить и не описано нигде.

  9. #38
    Vitamin C++ Аватар для Vitamin
    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,259
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    36 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Destr Посмотреть сообщение
    А вот как выглядит в HEX -0.5 ?
    Не могу себе представить и не описано нигде.
    0xff80

  10. #39
    Veteran Аватар для Destr
    Регистрация
    26.03.2008
    Адрес
    Питкяранта
    Сообщений
    1,802
    Спасибо Благодарностей отдано 
    249
    Спасибо Благодарностей получено 
    114
    Поблагодарили
    88 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vitamin Посмотреть сообщение
    0xff80
    А я думал что это -1.5
    Спасибо, работает!
    Получается что младший байт - беззнаковый, а старший - со знаком.

    Может у вас есть и хорошая процедура деления?
    (вида 8.8=8/8, только не такая как в Sp.Expert и ZX-Format описывается, у них там либо с ограничением, либо наворотов до небес)
    Последний раз редактировалось Destr; 21.10.2011 в 12:48.

  11. #40
    Vitamin C++ Аватар для Vitamin
    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,259
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    36 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Destr Посмотреть сообщение
    Может у вас есть и хорошая процедура деления?
    (вида 8.8=8/8, только не такая как в Sp.Expert и ZX-Format описывается, у них там либо с ограничением, либо наворотов до небес)
    http://zxdocs.fatal.ru/coding/math.zip

    Тебе нужно 16/8. Числитель надо грузить в старший байт, тогда в результате будет 16 битное число с фиксированной точностью.

Страница 4 из 11 ПерваяПервая 12345678 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Что такое SamRam?
    от ARTi в разделе Несортированное железо
    Ответов: 2
    Последнее: 23.11.2007, 16:20
  2. А вот как вам такое?
    от icebear в разделе Несортированное железо
    Ответов: 2
    Последнее: 13.08.2005, 16:38

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •