Установил на третьем компьютере с лицензионной операционной системой и все нормально заработало.Программку нужно подкорректировать,думаю вечером объясню.
Вид для печати
Установил на третьем компьютере с лицензионной операционной системой и все нормально заработало.Программку нужно подкорректировать,думаю вечером объясню.
Вот пример схемы где на ППЗУ макросах можно реализовывать различные функции табличным способом .В данном ППЗУ зашита функция SIN в 90 ячейках ,через каждый градус (0-90) ,диапазон от 0 до1000 .Можно использовать в Шим задатчиках мощности (регуляторах),в функциональных генераторах ,итп.ППЗУ от AT!
Измененный макрос ППЗУ 16х1,у которого дополнительный вход выборки ППЗУ вынесен для удобства наружу ,для задания поля адреса (0,1,2,3,4,......)
Есть задачки для AT! реализовать часть функций(популярных) с помощью рядов (итераций) ,там и факториал может сгодится .:) :D,ну что бы без таблицы ,три -четыре итерации и хорош.
не практично....
есть такое понятие, как "вещественное число с фиксированной точкой"
т.е. в вашем случае надо сделать диапозон значений не 0..1000, а 0..1024
--------------------
а я бы вообще сделал не так....
1) т.к. синус никогда не может быть больше 1, то бы сделал диапозон 1..2^31
нужную точность всегда можно получить соответствующим сдвигом!
2) т.к. диапозон 45..90 всегда модно получить из 0..45, то бы первый и не хранил бы....
3) опять же для точности, ну и свойств ПЗУ, делал бы не 1/360 круга, а 1/512
(т.е. диапозон 0..45 был бы 0..64)
4) самый интересный момент - я бы выбор ППЗУ сделал не по старшим битам, а по младшим!!!
тогда всегда можно уменьшить точность градуса взяв соответственно каждую второю, или каждую четвёртую ПэПэЗэУ-ху))
PS а ещё можно извратиться с интерполяцией промежуточных значений )))
1) "Искусственный Интеллект" по басурмански не так пишется...
2) не охота решать задачки просто что бы их решать...
не в школе же....
------------------
кстати, пока не поправят целочисленные операции
(не выложат поправленную версию программы)
это не возможно....
PS сделать что ли извлечение корня итерационным способом....
зачем мне вещественные числа (дроби в том числе) ,когда логика целочисленная (частный случай) ,мы ж не калькулятор делаем ,-все таймеры ,генераторы оперируют с целыми числами ,где "1" -это 1мсек.А взял 1000 потому что удобней из таблицы брадиса брать ,не связываясь с минутами ,секундами ,а только градусом и период Шим получается 1 сек на автомате.
про ШИМ в 1 сек я уже писал в соседней теме :D
PS а зачем ШИМ и SIN? не догоняю...
ник у меня AIфакториал :D
Умножьте на 60 и будет минута. Есть такие задачки с нагревом ,где подвод тепла нужно производить по какой либо кривулине .Для интегральных регуляторов с Шим которые я приводил в примерах ,мощьность нарастает линейно во времени ,что не всегда оправдано и экономично ,в ряде случаев хотелось бы ,что бы мошность сначала нарастала быстренько ,а потом скорость прирастания мощности падала со временем ,как ,например у SIN(0-90) .У других обьектов ,наоборот нужно тепло(мощность) сначала подавать (нарашивать ) потихоньку ,а потом с ускорением до заданного значения ,итд...