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

 
 
> Библиотека для работы с 64 битным целым, Не встречал ли кто такую
Мусатов Констант...
сообщение Mar 1 2007, 17:39
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 188
Регистрация: 10-10-06
Пользователь №: 21 172



При работе потребовалась обработка данных типа money. Это 64 битное целое, представляющее дробное число с фиксированным количеством знаков после запятой - 4. Вопрос стоит об оптимизированной библиотеке под IAR. Понятно, что неоптимизированную на С я и сам напишу достаточно быстро.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Alex03
сообщение Mar 2 2007, 08:24
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 359
Регистрация: 9-12-05
Пользователь №: 12 034



Цитата(Мусатов Константин @ Mar 1 2007, 20:40) *
Умножать и делить надо. Например, дробное количество умножить на дробную цену.

А кол-во тоже в этом же типе данных?
И кстати какая максимальная сумма возможна?
Знаковый инт64 может хранить ln(2^63)/ln(10) = 18,96488972683 десятичных разрядов.
Если в промежуточном вычислении 8 из них после запятой, то максимальная сумма будет порядка десятков миллиардов. Иначе в промежуточных вычислениях придётся использовать более широкие переменные. smile.gif
В BCD есть свои плюсы. smile.gif Но есть и минусы.
Можно ещё поизвращаться, выделив на дробную часть целое число бит (типа 50.14 или 48.16), но тут другой гемор вылезет (типа 5копеек+5копеек=11копеек). smile.gif

Цитата(Мусатов Константин @ Mar 1 2007, 21:10) *
Цитата
А делить то точно надо??

Да. Например, может прийти сумма и количество.

ИМХО вот тут то и может вылезти весь гемор с округлениями. Цена за единицу не всегда совпадёт с исходной. smile.gif
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 24th July 2025 - 01:48
Рейтинг@Mail.ru


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