Последний раз редактировалось Destr; 21.10.2011 в 01:16.
Да.
Спасибо.
Я так тоже умею.
МНЕ ИМЕННО ПРО ТАНГЕС!
С НИМ ТАКАЯ ТАБЛИЧКА НЕ ПОЛУЧАЕСТЯ!
Вопрос (в третий раз):
Как сгенерить такую-же (8 бит) табличку для тангенса?
Если невозможно (если только в 16 бит) - то как БЫСТРО (с точки зрения тактов) обращатся с 16-ти битной табличкой? (чтоб умножение было вида 16=8*8 бит)
Сгенерить на Бейсике или на Си. Пример написать?
Да, если не трудно.
В С не разбираюсь.
Бейсик (а лучше ZX-бейсик) - самое оно.
---------- Post added at 01:40 ---------- Previous post was at 01:39 ----------
И хорошо-бы пояснения как от этой сгенереной таблички взять тангенс.
Ну в виде:
На входе reg = angle
На выходе reg = TAN(angle)
(p.s. запарился тут с rp)
Пример программы:
Результат работы:
Пример программы, генерящей 8-битный тангенс 0..Pi*2, с точностью 1.3.4, где 1 - это бит знака, 3 - это целая часть, 4 - это дробная часть. Или говоря еще проще, это тангенс умноженный на 16. Генерируемая таблица располагается по адресу 0x8000. Горизонтальные линии на графике - это область насыщения функции, где она ограничивается разрядностью 8-битных данных. Если менять множитель в строке 30, то можно смещать формат представления числа. Например, 16, как сейчас - это 4 бита на дробную часть. 32 - это 5 бит, и т.д. Но, чем больше бит на дробную часть, тем большая часть функции попадает в насыщение, но выше точность на остальной части функции.
Последний раз редактировалось Titus; 21.10.2011 в 02:03.
Кстати, если вы собираетесь потом на него что-то не только умножать, но и делить, неплохо бы иметь вторую таблицу котангенса, и таким образом привести деление к умножению.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)