User Tag List

Страница 6 из 11 ПерваяПервая ... 2345678910 ... ПоследняяПоследняя
Показано с 51 по 60 из 105

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

  1. #51

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,403
    Спасибо Благодарностей отдано 
    1,703
    Спасибо Благодарностей получено 
    2,223
    Поблагодарили
    875 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Destr Посмотреть сообщение
    Синусы для разных углов - разные (и порой 1/sin=хзч, так как синус = 0 бывает)
    В чем проблема? Допустим у тебя таблица на 256 значений синуса, и 256 значений обратного синуса. Две таблички маленьких. Даже если по 16 бит значения. Что же касается деления на ноль, то это плюс бесконечность, т.е. подставляешь туда максимально большое число, и будет тебе щастье. Соотвественно число обратное 1/0 будет именно бесконечностью. Допустим для примера, у тебя самое большое число - это +127, значит 1/0 - это +127.

  2. #52

    Регистрация
    26.03.2008
    Адрес
    Питкяранта
    Сообщений
    1,823
    Спасибо Благодарностей отдано 
    275
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    95 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    В чем проблема? Допустим у тебя таблица на 256 значений синуса, и 256 значений обратного синуса. Две таблички маленьких. Даже если по 16 бит значения.
    Да вот табличка обратного синуса в 512 выходит.
    А умножать 16*8 бит тоже не особо получается корректно.
    Непонятно какой разряд для CP брать.
    Это при том, что 8*8 бит умножение работает на ура.
    Ломаю голову как-бы 8-ми битную табличку для обратного синуса замутить (заодно и для обратного тангенса, сейчас для него юзаю 32 таблички по 512 байт каждая)

  3. #53

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,403
    Спасибо Благодарностей отдано 
    1,703
    Спасибо Благодарностей получено 
    2,223
    Поблагодарили
    875 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Destr Посмотреть сообщение
    Да вот табличка обратного синуса в 512 выходит.
    А умножать 16*8 бит тоже не особо получается корректно.
    Непонятно какой разряд для CP брать.
    Это при том, что 8*8 бит умножение работает на ура.
    Ломаю голову как-бы 8-ми битную табличку для обратного синуса замутить (заодно и для обратного тангенса, сейчас для него юзаю 32 таблички по 512 байт каждая)
    Что такое CP?
    Готовые процедуры деления и умножения я видел в каком-то из журналов, да и на форуме не раз проскакивали.

  4. #54

    Регистрация
    26.03.2008
    Адрес
    Питкяранта
    Сообщений
    1,823
    Спасибо Благодарностей отдано 
    275
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    95 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Что такое CP?
    Готовые процедуры деления и умножения я видел в каком-то из журналов, да и на форуме не раз проскакивали.
    CP это команда сравнения.
    Т.е.
    LD A,старший байт от деления
    CP старший байт от другого деления
    выясняем какая из гипотенуз длинней.

    А всякие умножалки-делилки - да я их тоже видел (одну из них выше приводил).
    Но они везде со своими ограничениями (либо точность, либо разрядность, либо ещё какая беда)
    Нет аналогов писишным mul и div.
    Ну по крайней мере только (+-)16=8*8 бит у меня есть (которую "изобрёл" сам, после упорного разбирательства "двоичного умножения в столбик", разумеется "открытие" это только для себя, другие люди уже юзали подобные вещи).
    А других провереных (и главное - понятных как работают) процедур нема.

  5. #55

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,403
    Спасибо Благодарностей отдано 
    1,703
    Спасибо Благодарностей получено 
    2,223
    Поблагодарили
    875 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Еще раз повторюсь, что не понимаю, в чем проблема.
    Может попробовать помоделировать весь алгоритм на си, а потом уже переносить на асм, со знанием всего процесса целиком.

  6. #56

    Регистрация
    26.03.2008
    Адрес
    Питкяранта
    Сообщений
    1,823
    Спасибо Благодарностей отдано 
    275
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    95 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Еще раз повторюсь, что не понимаю, в чем проблема.
    Может попробовать помоделировать весь алгоритм на си, а потом уже переносить на асм, со знанием всего процесса целиком.
    Ну как объяснить в чём проблема?
    Да хрен её знает в чём!
    Я подозреваю что процедура деления неправильно работает.
    А может быть и ещё что-то у меня не так.
    Хотя чего там не так? делим катет на синус, катет известен, синус тоже проверен, по нему нормально всё остальное вертится. А вот длину гипотенузы вычислить не получается (точнее получается, но иногда почему-то, результат неправильный).
    Вот я и поинтересовался как выправить процедуру деления которую я привёл.
    (ну или как вариант - чем заменить чтоб такая-же разрядность и чтоб знаки)

    Цитата Сообщение от Titus Посмотреть сообщение
    Может попробовать помоделировать весь алгоритм на си, а потом уже переносить на асм, со знанием всего процесса целиком.
    Ну статью Шируотаку, я её выше приводил промоделировать
    Хотя на С это всё заработает на ура (там ведь умножения/деления правильные готовые, их не надо "изобретать на коленке")

    В общем вопрос по-прежнему:
    Процедура деления вида (+-)8.8=8/8
    Есть?
    Последний раз редактировалось Destr; 26.10.2011 в 20:14.

  7. #57

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,403
    Спасибо Благодарностей отдано 
    1,703
    Спасибо Благодарностей получено 
    2,223
    Поблагодарили
    875 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Destr Посмотреть сообщение
    В общем вопрос по-прежнему:
    Процедура деления вида (+-)8.8=8/8
    Есть?
    Бери любую 16=16/8, сдвинув предварительно делимое влево на 8 бит)

  8. #58

    Регистрация
    26.03.2008
    Адрес
    Питкяранта
    Сообщений
    1,823
    Спасибо Благодарностей отдано 
    275
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    95 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Бери любую 16=16/8, сдвинув предварительно делимое влево на 8 бит)
    Пробовал.
    Может быть не те процедуры?
    Дайте пожалуйста провереную (и желательно учитывающую знаки).
    Попробую и отчитаюсь что и как получилось.

  9. #59

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,403
    Спасибо Благодарностей отдано 
    1,703
    Спасибо Благодарностей получено 
    2,223
    Поблагодарили
    875 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Destr Посмотреть сообщение
    Пробовал.
    Может быть не те процедуры?
    Дайте пожалуйста провереную (и желательно учитывающую знаки).
    Попробую и отчитаюсь что и как получилось.
    У меня на вскидку нет подобных процедур.

  10. #60

    Регистрация
    26.03.2008
    Адрес
    Питкяранта
    Сообщений
    1,823
    Спасибо Благодарностей отдано 
    275
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    95 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    У меня на вскидку нет подобных процедур.
    Вот он, мой камень преткновения
    Перебрал разные варианты, но они все беззнаковые, а пытаюсь сделать знаковыми - что-то делаю не так видимо и не работает как надо.
    И никто ничерта не может помочь кроме как советами.
    А мне-бы практику, работающую процедурку...

    Хотя надо признать я пробовал вычислять гипотенузу и через сумму квадратов катетов и её корень, но тоже не преуспел (даже на скорость пока что положил).
    Там ведь тоже важна дробная часть, а корня с дробью что-то не нашёл.

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

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

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

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

Похожие темы

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

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

Ваши права

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