реклама на сайте
подробности

 
 
> Keil mVision2 RV, плавающая точка
Sart
сообщение Oct 7 2008, 10:56
Сообщение #1





Группа: Новичок
Сообщений: 10
Регистрация: 18-08-08
Пользователь №: 39 669



Здравствуйте.
Подскажите как armlink заставить изменить режим округления числа с плавающей точкой?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Alexandro
сообщение Oct 9 2008, 05:48
Сообщение #2





Группа: Участник
Сообщений: 12
Регистрация: 26-05-05
Пользователь №: 5 431



Может это поможет:

убрать мусор из float

from: http://caxapa.ru/79045.html

Данный странный алгоритм убирает мусор из числа. Известно заранее, что числа "правильные" в некотором смысле.
Например - шаг шкалы оцифровки графика.

// Жила была переменная float
float Step=0.1; // или 1./3. или 2./3. или что нибудь похожее

// Её копируют в double, в результате в младших разрядах мусор 0.100000001490116 , 0.333333343267441 ...
double StepD=Step;

//Но мусор нам не нужен и его убираем
unsigned char *p=(unsigned char *)&StepD;
if(p[4]==p[5]) p[0]=p[1]=p[2]=p[3]=p[4];

// В результате получаем 0.1, 0.333333333333333 ...

Алгоритм используется в реальном проекте. Выглядит странно, но очень эфективен.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Sart   Keil mVision2 RV   Oct 7 2008, 10:56
- - VAI   Вы можете сформулировать вопрос более грамотно. На...   Oct 8 2008, 04:03
- - Sart   В Help я вычитал следующее: "Note The standa...   Oct 8 2008, 04:58
- - aaarrr   Для подключения полных библиотек достаточно в опци...   Oct 8 2008, 09:09
- - Sart   Большое спасибо. А подскажите еще как указать до к...   Oct 9 2008, 04:38
- - aaarrr   Тек-с. Вообще-то к какому-либо знаку после запятой...   Oct 9 2008, 04:52
- - Sart   Проблема вот в чем: В программе переменной типа f...   Oct 9 2008, 05:03
|- - aaarrr   В плавающей точке ровно обычно ничего не бывает. П...   Oct 9 2008, 05:09
- - Sart   Соглашусь с Вами. Но как то указать компилятору чт...   Oct 9 2008, 05:22
|- - scifi   Цитата(Sart @ Oct 9 2008, 09:22) Соглашус...   Oct 9 2008, 06:16
- - aaarrr   Нет, можно только округлить вручную или придумать ...   Oct 9 2008, 05:30
- - VAI   ЦитатаА подскажите еще как указать до какого знака...   Oct 9 2008, 08:55
- - Sart   Я наверное неправильно выразился. Нужно как то ука...   Oct 9 2008, 10:39
- - aaarrr   Цитата(Sart @ Oct 9 2008, 14:39) Я наверн...   Oct 9 2008, 10:55


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 31st July 2025 - 12:40
Рейтинг@Mail.ru


Страница сгенерированна за 0.01381 секунд с 7
ELECTRONIX ©2004-2016