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

|
Цитата(rx3apf @ Mar 8 2010, 23:39)  Или плавучку делать, или изначально умножить делимое на двойку соответствующей степени, таким образом, чтобы после всех делений результат оставался целым с требуемой точностью. Не очень понимаю как это должно выглядеть??
|
|
|
|
|
Mar 8 2010, 21:59
|
Частый гость
 
Группа: Участник
Сообщений: 84
Регистрация: 21-10-09
Пользователь №: 53 117

|
Цитата(rx3apf @ Mar 9 2010, 00:19)  Должным образом масштабируя исходные данные, можно работать с дробными числами с помощью простой целочисленной арифметики. Ну, а если нужно что-то серьезное - тогда делать плавучку... А где бы об этом почитать?? Не очень понятно как возникает степень 2, от чего я отталкиваюсь?? Мою задачу можно решить подобным образом??
Сообщение отредактировал NickSmith - Mar 8 2010, 22:00
|
|
|
|
|
Mar 8 2010, 22:52
|
Гуру
     
Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047

|
Цитата(NickSmith @ Mar 9 2010, 00:59)  А где бы об этом почитать?? Не очень понятно как возникает степень 2, от чего я отталкиваюсь?? Степень двойки выбирается, исходя из требуемой разрядности и точности промежуточных и окончательного результата. В моем примере можно было бы взять не 2^10, а, скажем, 2^12, тогда результат был бы 20684, это было бы то же самое число 5.0498, но в формате 4.12. Однако результат округлен неправильно (взята только целая часть), поэтому точности это не прибавило. Надо бы взять 2^13, а после деления на 1000 еще поделить на 2 простым сдвигом и округлить (это проще, чем проверять остаток от деления). И результат станет 5.0500 (в формате 4.12). Где почитать - так вот сейчас не подскажу, кажется, я в это вникал по каким-то аппликухам к MSP430 (много лет прошло, уж не помню). Цитата Мою задачу можно решить подобным образом?? Почему нет ? Простая арифметика, надо просто прикинуть требуемые разрядности, превратить простым умножением на константу (2 в подходящей степени) все дробные значения в целые и с ними работать.
Сообщение отредактировал rx3apf - Mar 8 2010, 22:59
|
|
|
|
Сообщений в этой теме
NickSmith Операции над большими числами Mar 8 2010, 20:23     NickSmith Цитата(rx3apf @ Mar 9 2010, 01:52) Почему... Mar 9 2010, 10:01 cant Вам нужно не числа сокращать, а формулу. Тобишь оп... Mar 9 2010, 11:04 =GM= Цитата(NickSmith @ Mar 8 2010, 20:23) Ест... Mar 9 2010, 12:28 NickSmith Цитата(=GM= @ Mar 9 2010, 15:28) Поточнее... Mar 9 2010, 13:07  =GM= Как вы вычисляете-то? Что ж из вас ответы клещами ... Mar 9 2010, 17:21   NickSmith Цитата(=GM= @ Mar 9 2010, 20:21) Как вы в... Mar 9 2010, 18:45    rx3apf Цитата(NickSmith @ Mar 9 2010, 21:45) И о... Mar 9 2010, 19:24     NickSmith Цитата(rx3apf @ Mar 9 2010, 22:24) А ... Mar 9 2010, 19:57      =GM= Правильно так: (5050/10^8)*2^28 =0x13BA0000000/0x5... Mar 9 2010, 20:29       NickSmith Цитата(=GM= @ Mar 9 2010, 23:29) Правильн... Mar 9 2010, 21:25        rx3apf Цитата(NickSmith @ Mar 10 2010, 00:25) То... Mar 9 2010, 21:31         NickSmith Цитата(rx3apf @ Mar 10 2010, 00:31) Фигне... Mar 9 2010, 21:33          rx3apf Цитата(NickSmith @ Mar 10 2010, 00:33) А ... Mar 9 2010, 22:55           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
|
|
|