|
Операции над большими числами, Операции над большими числами |
|
|
|
 |
Ответов
|
Mar 9 2010, 13:07
|
Частый гость
 
Группа: Участник
Сообщений: 84
Регистрация: 21-10-09
Пользователь №: 53 117

|
Цитата(=GM= @ Mar 9 2010, 15:28)  Поточнее определите, что вам нужно. Следуя вашей формуле, вы получите значение (5050/1000)/2^28=1.88127Е-8, по-моему это не то число, которое вы ожидали. Действительно ошибся. Не на 1000 а на 100. Получится 13555,99053 а если округлить то 13556 в шестнадцатеричном будет 34F4
Сообщение отредактировал NickSmith - Mar 9 2010, 13:10
|
|
|
|
|
Mar 9 2010, 18:45
|
Частый гость
 
Группа: Участник
Сообщений: 84
Регистрация: 21-10-09
Пользователь №: 53 117

|
Цитата(=GM= @ Mar 9 2010, 20:21)  Как вы вычисляете-то? Что ж из вас ответы клещами приходится тянуть! Так как же мне это злодейство побороть.. Уже пол дня в раздумьях и гуглении нахожусь и ничего толкового пока что не нашел.. Цитата(=GM= @ Mar 9 2010, 15:28)  Поточнее определите, что вам нужно. Следуя вашей формуле, вы получите значение (5050/1000)/2^28=1.88127Е-8, по-моему это не то число, которое вы ожидали. И опять я ошибся Правильно это будет выглядеть так: (5050/10^8)/1*2^28 Если это делать без единицы, то получается ерунда почему то.. формула выглядит так Значение регистра = выходная частота в мегагерцах/ частота тактового генератора в мегагерцах*2^28 У меня же частоты в герцах и получается буквально одно слово.. Частота тактового генератора в а моем случае 1 мегагерц
Сообщение отредактировал NickSmith - Mar 9 2010, 19:04
|
|
|
|
|
Mar 9 2010, 19:57
|
Частый гость
 
Группа: Участник
Сообщений: 84
Регистрация: 21-10-09
Пользователь №: 53 117

|
Цитата(rx3apf @ Mar 9 2010, 22:24)  А "с единицей" - так не просто ерунда, а вообще просто форменный бред, поскольку практического смысла умножение не единицу не имеет. Приведенная формула тоже никуда не годится - все ж в регистр синтезатора загружают целое число, а тут в любом случае дробное (и очень маленькое). Короче, разбирайтесь с математикой, и лишь потом - с переложением _правильных_ формул в их реализацию для микроконтроллера... Ну да целое число. То, что после запятой округляется или в большую или в меньшую сторону... Я думаю так сделать: я храню значение в виде 5050, на самом деле это для формулы должно быть 10^-8 т.е я могу 5050/1*2^28 полученный результат разделить на 10^8.. Но тут возникают вопросы, как мне округлить числа после запятой?? И может быть как то можно это все сократить?? Я тоже так подумал, что с 1 единицей что без нее разницы нет.. Но вот попробуйте в экселе это сделать без нее.. Тогда действительно бред
Сообщение отредактировал NickSmith - Mar 9 2010, 20:02
|
|
|
|
|
Mar 9 2010, 21:25
|
Частый гость
 
Группа: Участник
Сообщений: 84
Регистрация: 21-10-09
Пользователь №: 53 117

|
Цитата(=GM= @ Mar 9 2010, 23:29)  Правильно так: (5050/10^8)*2^28 =0x13BA0000000/0x5F5E100=0x34F4=13556 А я вот тут подумал, а если подойти к задаче с дугой стороны. Я посмотрел, что прибавление или вычитание из кода идет с шагом или 2 или 3. Закономерность вроде как тоже есть.. Изменение на 2 происходит после двух подряд изменений на три и так пять раз, после чего три раза подряд изменение на три и цикл снова.. 2333 233 233 233 233 233 23332...... Может быть по такому пути проще идти и не городить огород со сложной математикой.. Только как бы это привязать к какому либо значению?? Или придется тупо на каких то хитрых циклах делать??
Сообщение отредактировал NickSmith - Mar 9 2010, 21:26
|
|
|
|
|
Mar 9 2010, 21:33
|
Частый гость
 
Группа: Участник
Сообщений: 84
Регистрация: 21-10-09
Пользователь №: 53 117

|
Цитата(rx3apf @ Mar 10 2010, 00:31)  Фигней не надо заниматься, а ? Всего-то нужно тривиальное деление 40 / 20 битов. Простейший цикл сдвиг-сравнение-вычитание. А по подробней можно??
|
|
|
|
Сообщений в этой теме
NickSmith Операции над большими числами Mar 8 2010, 20:23 rx3apf Цитата(NickSmith @ Mar 8 2010, 23:23) Под... Mar 8 2010, 20:39 NickSmith Цитата(rx3apf @ Mar 8 2010, 23:39) Или пл... Mar 8 2010, 20:41  rx3apf Цитата(NickSmith @ Mar 8 2010, 23:41) Не ... Mar 8 2010, 21:19   NickSmith Цитата(rx3apf @ Mar 9 2010, 00:19) Должны... Mar 8 2010, 21:59    rx3apf Цитата(NickSmith @ Mar 9 2010, 00:59) А г... Mar 8 2010, 22:52     NickSmith Цитата(rx3apf @ Mar 9 2010, 01:52) Почему... Mar 9 2010, 10:01 cant Вам нужно не числа сокращать, а формулу. Тобишь оп... Mar 9 2010, 11:04           NickSmith Цитата(rx3apf @ Mar 10 2010, 01:55) Ну ка... Mar 9 2010, 23:03            rx3apf Цитата(NickSmith @ Mar 10 2010, 02:03) Т.... Mar 10 2010, 07:44             NickSmith Цитата(rx3apf @ Mar 10 2010, 10:44) Я уже... Mar 10 2010, 10:48              rx3apf Цитата(NickSmith @ Mar 10 2010, 13:48) Но... Mar 10 2010, 10:56               NickSmith Цитата(rx3apf @ Mar 10 2010, 13:56) Мать-... Mar 10 2010, 11:01                ae_ Цитата(NickSmith @ Mar 10 2010, 19:01) Вс... Mar 10 2010, 15:14                 NickSmith Цитата(ae_ @ Mar 10 2010, 18:14) Если я п... Mar 10 2010, 17:12                  ae_ Цитата(NickSmith @ Mar 11 2010, 01:12) Из... Mar 10 2010, 17:27 _Pasha
ЦитатаПриближение действительного числа рациональ... Mar 10 2010, 01:09 Genadi Zawidowski Цитатаtiny2313
Взяли бы мегу восьмую и писали на W... Mar 10 2010, 06:10 NickSmith С одним вроде как все понятно теперь, но вот тепер... Mar 10 2010, 19:44 rezident Цитата(NickSmith @ Mar 11 2010, 00:44) Чт... Mar 10 2010, 22:49  NickSmith Цитата(rezident @ Mar 11 2010, 01:49) Дык... Mar 11 2010, 00:00 NickSmith Что то не получается у меня переделать умножение и... Mar 11 2010, 23:52 rx3apf Цитата(NickSmith @ Mar 12 2010, 02:52) Чт... Mar 12 2010, 14:03 NickSmith Пробовал менять местами множимое и множитель с доб... Mar 12 2010, 11:17 =GM= Поменяйте порядок сдвига, как показано ниже, и буд... Mar 12 2010, 13:31  NickSmith Цитата(=GM= @ Mar 12 2010, 16:31) На буду... Mar 13 2010, 10:10   rx3apf Цитата(NickSmith @ Mar 13 2010, 13:10) Я ... Mar 13 2010, 10:28    NickSmith Цитата(rx3apf @ Mar 13 2010, 13:28) Ну то... Mar 13 2010, 11:09     rx3apf Цитата(NickSmith @ Mar 13 2010, 14:09) Я ... Mar 13 2010, 11:18      NickSmith Цитата(rx3apf @ Mar 13 2010, 14:18) Да та... Mar 13 2010, 11:31 NickSmith Имеется формула код фазы = ( a*b )/c где а =знач... Mar 14 2010, 10:12 ae_ Цитата(NickSmith @ Mar 14 2010, 18:12) Им... Mar 14 2010, 15:25  NickSmith Цитата(ae_ @ Mar 14 2010, 18:25) Далее, н... Mar 14 2010, 23:05   ae_ Цитата(NickSmith @ Mar 15 2010, 07:05) Ог... Mar 15 2010, 00:21   rezident Цитата(NickSmith @ Mar 15 2010, 04:05) А ... Mar 15 2010, 00:23
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|