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

User Tag List

Страница 3 из 11 ПерваяПервая 1234567 ... ПоследняяПоследняя
Показано с 21 по 30 из 105

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

  1. #21
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,557
    Спасибо Благодарностей отдано 
    1,220
    Спасибо Благодарностей получено 
    1,754
    Поблагодарили
    683 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Destr Посмотреть сообщение
    В общем хотел примеры и советы от людей которые решали подобные проблемы, а опять флуд у нас получился
    (ну почти флуд)
    Я как раз рассказываю подход по существу. Я делаю так. Иначе не получается.

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

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Я как раз рассказываю подход по существу. Я делаю так. Иначе не получается.
    Ну тогда продолжаем.
    Как-нибудь можно развернуть Ваше представление о проблеме?
    Ну начав с таблички например?
    Как бы Вы её сформировали?
    (или может-быть "А Вы как её формировали когда нужно было?") ?

  3. #23
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,557
    Спасибо Благодарностей отдано 
    1,220
    Спасибо Благодарностей получено 
    1,754
    Поблагодарили
    683 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Destr Посмотреть сообщение
    Ну тогда продолжаем.
    Как-нибудь можно развернуть Ваше представление о проблеме?
    Ну начав с таблички например?
    Как бы Вы её сформировали?
    (или может-быть "А Вы как её формировали когда нужно было?") ?
    Тангенсом не пользовался.
    А проблему решаю последовательно. Сначала смотрю, какая минимальная точность результата мне подходит. Если 16 бит, значит 16, если 8, значит 8. Потом уже исходя из этого делаю таблицу. 8-битную или 16-битную) Что тут непонятного?

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

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    А проблему решаю последовательно. Сначала смотрю, какая минимальная точность результата мне подходит. Если 16 бит, значит 16, если 8, значит 8. Потом уже исходя из этого делаю таблицу. 8-битную или 16-битную) Что тут непонятного?
    Если не сложно - пожалуйста пример.
    Либо код с комментариями, либо разжёвку как это сделать (ну по уровню как в zx-ревю "Программирование в машинных кодах и на языке ассемблера").
    А если лениво OR некогда OR "просто-ты-дестр-рожей-не-вышел" = ну извиняюсь.
    Мож кто ещё подскажет
    Последний раз редактировалось Destr; 21.10.2011 в 01:16.

  5. #25
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,557
    Спасибо Благодарностей отдано 
    1,220
    Спасибо Благодарностей получено 
    1,754
    Поблагодарили
    683 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Destr Посмотреть сообщение
    Если не сложно - пожалуйста пример.
    Пример чего, как из таблицы вынимать значения?

    Код:
    	8-битная таблица:
    
    	LD	H,База таблицы
    	LD	L,Значение угла
    	LD	A,(HL)		- А - синус угла L
    	
    	16-битная таблица:
    	
    	LD	H,База таблицы
    	LD	L,Значение угла
    	LD	E,(HL)
    	INC	H
    	LD	D,(HL)		- DE - синус угла L

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

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Пример чего, как из таблицы вынимать значения?
    Да.
    Спасибо.
    Я так тоже умею.

    МНЕ ИМЕННО ПРО ТАНГЕС!
    С НИМ ТАКАЯ ТАБЛИЧКА НЕ ПОЛУЧАЕСТЯ!

    Вопрос (в третий раз):
    Как сгенерить такую-же (8 бит) табличку для тангенса?
    Если невозможно (если только в 16 бит) - то как БЫСТРО (с точки зрения тактов) обращатся с 16-ти битной табличкой? (чтоб умножение было вида 16=8*8 бит)

  7. #27
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,557
    Спасибо Благодарностей отдано 
    1,220
    Спасибо Благодарностей получено 
    1,754
    Поблагодарили
    683 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Сгенерить на Бейсике или на Си. Пример написать?

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

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Сгенерить на Бейсике или на Си. Пример написать?
    Да, если не трудно.
    В С не разбираюсь.
    Бейсик (а лучше ZX-бейсик) - самое оно.

    ---------- Post added at 01:40 ---------- Previous post was at 01:39 ----------

    И хорошо-бы пояснения как от этой сгенереной таблички взять тангенс.
    Ну в виде:
    На входе reg = angle
    На выходе reg = TAN(angle)
    (p.s. запарился тут с rp)

  9. #29
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,557
    Спасибо Благодарностей отдано 
    1,220
    Спасибо Благодарностей получено 
    1,754
    Поблагодарили
    683 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Пример программы:


    Результат работы:


    Пример программы, генерящей 8-битный тангенс 0..Pi*2, с точностью 1.3.4, где 1 - это бит знака, 3 - это целая часть, 4 - это дробная часть. Или говоря еще проще, это тангенс умноженный на 16. Генерируемая таблица располагается по адресу 0x8000. Горизонтальные линии на графике - это область насыщения функции, где она ограничивается разрядностью 8-битных данных. Если менять множитель в строке 30, то можно смещать формат представления числа. Например, 16, как сейчас - это 4 бита на дробную часть. 32 - это 5 бит, и т.д. Но, чем больше бит на дробную часть, тем большая часть функции попадает в насыщение, но выше точность на остальной части функции.
    Вложения Вложения
    Последний раз редактировалось Titus; 21.10.2011 в 02:03.

  10. #30
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,557
    Спасибо Благодарностей отдано 
    1,220
    Спасибо Благодарностей получено 
    1,754
    Поблагодарили
    683 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Кстати, если вы собираетесь потом на него что-то не только умножать, но и делить, неплохо бы иметь вторую таблицу котангенса, и таким образом привести деление к умножению.

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

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

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

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

Похожие темы

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

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

Ваши права

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