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

 
 
 
Reply to this topicStart new topic
> Представление чисел с плавающей точкой
ASZ
сообщение Mar 22 2007, 05:21
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 302
Регистрация: 24-07-06
Из: Донецк, Украина
Пользователь №: 19 042



Очень интересует данная тема, поскольку исходников библиотек std.lib и math.lib у меня нет.
Какой-то намек дает описание функции div_t div(int numer, int denom) и определение структуры div_t, но этого крайне мало. Интересует также процедура нормализации.

Все эти потуги связаны с тем, что меня не устраивают процедуры форматированного вывода чисел, представленных в плавающем формате.
Go to the top of the page
 
+Quote Post
_Bill
сообщение Mar 22 2007, 11:52
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 416
Регистрация: 18-04-06
Из: Челябинск
Пользователь №: 16 219



Цитата(ASZ @ Mar 22 2007, 05:21) *
Очень интересует данная тема, поскольку исходников библиотек std.lib и math.lib у меня нет.
Какой-то намек дает описание функции div_t div(int numer, int denom) и определение структуры div_t, но этого крайне мало. Интересует также процедура нормализации.

Все эти потуги связаны с тем, что меня не устраивают процедуры форматированного вывода чисел, представленных в плавающем формате.

Посмотрите ссылки здесь: FPconvert
Советую взглянуть на документ AN575 от Microchip.
Go to the top of the page
 
+Quote Post
ASZ
сообщение Mar 22 2007, 12:45
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 302
Регистрация: 24-07-06
Из: Донецк, Украина
Пользователь №: 19 042



Цитата(_Bill @ Mar 22 2007, 12:52) *
Посмотрите ссылки здесь: FPconvert
Советую взглянуть на документ AN575 от Microchip.

Спасибо, но у меня вызывают сильные опасения относительно совместимости форматов представления Microchip'а и IAR AVR.
?
Go to the top of the page
 
+Quote Post
rezident
сообщение Mar 22 2007, 12:48
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



В IAR используется стандарт IEEE754. Скачайте его да и изучайте на здоровье.
P.S. представление float числа и форматированный вывод с помощью функций printf/sprintf слабо связанные между собой вещи ИМХО.
Go to the top of the page
 
+Quote Post
ASZ
сообщение Mar 22 2007, 13:25
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 302
Регистрация: 24-07-06
Из: Донецк, Украина
Пользователь №: 19 042



Цитата(rezident @ Mar 22 2007, 13:48) *
В IAR используется стандарт IEEE754. Скачайте его да и изучайте на здоровье.
P.S. представление float числа и форматированный вывод с помощью функций printf/sprintf слабо связанные между собой вещи ИМХО.

Связаны слабо, но без знания формата не сделаешь свой ввод/вывод.
Вся беда в том, что IAR свои биб-ки дает только в объектных файлах, и механику их работы подсмотреть невозможно.
А я терпеть не могу пользоваться чужими "фичами" (или багами), предпочитаю свои smile.gif

Относительно стандартов - я уже имел "счастье" набить шишки на соблюдении стандартов фирмачами.
За ссылку спасибо, скачал.
Go to the top of the page
 
+Quote Post
_Bill
сообщение Mar 22 2007, 13:31
Сообщение #6


Местный
***

Группа: Участник
Сообщений: 416
Регистрация: 18-04-06
Из: Челябинск
Пользователь №: 16 219



Цитата(ASZ @ Mar 22 2007, 12:45) *
Спасибо, но у меня вызывают сильные опасения относительно совместимости форматов представления Microchip'а и IAR AVR.
?

А какие тут могут быть опасения? Очевидно, что они несовместимы. В IAR используется формат IEEE754. Хотя Microchip использует свой формат, который оптимизирован для 8-разрядных процессоров, но он мало отличается от IEEE754. Разница состоит в том, что порядок размещается в отдельном байте, а знак числа перенесен в старший байт мантиссы. Впрочем, если Вы запустите утилиту, то все отличия увидите сами.
Go to the top of the page
 
+Quote Post
ASZ
сообщение Mar 22 2007, 13:48
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 302
Регистрация: 24-07-06
Из: Донецк, Украина
Пользователь №: 19 042



Цитата(_Bill @ Mar 22 2007, 14:31) *
А какие тут могут быть опасения? Очевидно, что они несовместимы. В IAR используется формат IEEE754. Хотя Microchip использует свой формат, который оптимизирован для 8-разрядных процессоров, но он мало отличается от IEEE754. Разница состоит в том, что порядок размещается в отдельном байте, а знак числа перенесен в старший байт мантиссы. Впрочем, если Вы запустите утилиту, то все отличия увидите сами.

Спасибо, буду экспериментировать.
Наверное, будут шансы нарваться на ненормализованные числа, и придется делать самому и нормализацию sad.gif
Go to the top of the page
 
+Quote Post
_Bill
сообщение Mar 22 2007, 14:02
Сообщение #8


Местный
***

Группа: Участник
Сообщений: 416
Регистрация: 18-04-06
Из: Челябинск
Пользователь №: 16 219



Цитата(ASZ @ Mar 22 2007, 13:48) *
Спасибо, буду экспериментировать.
Наверное, будут шансы нарваться на ненормализованные числа, и придется делать самому и нормализацию sad.gif

Могу добавить, что исходные тексты подпрограмм с FP приведены в AN575, для PIC16. Их можно посмотреть. Для IAR все примерно то же самое (алгоритмы). Разница состоит в том, что числа в формате IEEE754 нужно предварительно распаковывать перед выполнением операций и упаковывать после выполнения операций, перед сохранением результата в памяти. В формате Microchip такие операции тоже есть но они короче.
Go to the top of the page
 
+Quote Post
ASZ
сообщение Mar 22 2007, 14:40
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 302
Регистрация: 24-07-06
Из: Донецк, Украина
Пользователь №: 19 042



Цитата(_Bill @ Mar 22 2007, 15:02) *
Могу добавить, что исходные тексты подпрограмм с FP приведены в AN575, для PIC16. Их можно посмотреть. Для IAR все примерно то же самое (алгоритмы). Разница состоит в том, что числа в формате IEEE754 нужно предварительно распаковывать перед выполнением операций и упаковывать после выполнения операций, перед сохранением результата в памяти. В формате Microchip такие операции тоже есть но они короче.

Посмотрел - то что надо!
Большое спасибо!
Go to the top of the page
 
+Quote Post

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

 


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


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